Fastly have kindly sponsored us with free CDN service. They have a tiered caching feature called Shielding that ended up being our solution - it just needed turning on.
I see! I didn't mean tiered caching. I meant, if a thousand clients simultaneously request a cacheable resource from the same colo that lacks the resource, only one request should make it to your origin, and the response should be streamed to every client. This is possible in Fastly but IIRC it depends on what combination of http and https your client and origin connections are using.