Does an amazon cloudfront distribution with multiple origins conflict?
No, CloudfFront doesn't have a concept of a "conflict," because when you have a distribution with multiple origins, you have to define which path matches go to which origin.
CloudFront's path pattern matching is deterministic. It uses first match, not best match. Whichever pattern matches first is the one that will be used, even if that path is a dead-end at the origin server.
When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. The first match determines which cache behavior is applied to that request.
Update
CloudFront now supports a concept of Origin Groups, which allow any given Cache Behavior to send a request to one origin, and then -- if one of the error types that you specify (e.g. 404 or 503) is returned by the first origin, then CloudFront will attempt to fetch the content from a second origin. This can be used for failover, but it can also be used for cases where you want CloudFront to try one origin, and then another. The two origins in the origin group are tried, in order, for every cache miss. If either origin returns a cacheable response, that response will be stored in the cache.
Rakib
DevOps engineer, web & mobile app backend engineer, cloud computing solutions architect, tech trainer for multiple tech startups & enterprises specializing in CloudInfra, RESTful APIs, Microservices, ETL.
Updated on October 30, 2021Comments
-
Rakib over 2 years
i have 2 different images in 2 websites at:
If i create an Amazon Cloudfront distribution with 2 origins:
www.siteA.com
andwww.siteB.com
and then i call foruniqueDistributionID.cloudfront.net/avatar.png
, then whichavatar.png
will be returned? The one insiteA
or the one insiteB
?Why & why not?
Trying to understand the potential of conflicts in Cloudfront distributions.