CDP:Cache Distribution Pattern
Locating Data in a Location That Is Physically Near to the User
Problem to Be Solved
Given the rising popularity of computers and mobile devices, ever more users are accessing content on the Internet from an increasingly broad range of locations. On top of this, image and video data are now of higher definition, so the data volume has also become extremely large.
From the perspective of the user experience, you must provide the data to the user more quickly and with greater stability, but, given the technology of today, there is, for example, a communication delay of at least 200 ms when accessing a server on the East Coast of the United States from Japan. For this reason, having only a single transmission origin for the content will negatively affect the user experience.
Explanation of the Cloud Solution/Pattern
Cache data for content that is delivered from a content delivery origin is located at locations that are provided in various regions throughout the world. This enables you to deliver the content from a location that is physically near to the user, enabling you to resolve the geographical/physical constraints. You can use this pattern to reduce the distance between the user and the content, thus improving the responsiveness to the user.
You can use CloudFront in AWS to use cache servers ("edge servers") throughout the world.
- Determine the origin server that is to be the delivery origin for the content, and place the content there.
- Set up CloudFront to use a master server. When performing the setup, a Domain Name System (DNS) name of "xxxx.cloudfront.net" (where the xxxx portion is generated at random) will be issued.
- You may use the DNS name that is issued automatically, or you may use an independent domain name. At this time, set the CloudFront DNS name that has been issued in the CNAME record for the DNS name of the origin server.
- This makes it possible for you to provide a better user experience to users in geographically distant places.
- This lets you distribute the file download processes, which is useful in load distribution as well.
- You can use an existing server (a server other than an EC2 instance, such as one for an on-premises system or for hosting) as the origin server, enabling you to use this pattern while taking advantage of existing servers.
- You can also use S3 directly as the origin, using it as an origin server.
- Fundamentally, the cache server performs caching based on the cache timeout setting of the master server that is the transmission origin. Because of this, there may be cases where the cache server will not be updated even if the file on the master server is updated prior to the cache timeout. You must consider the nature of the content when setting the cache timeout. You may also consider using the Rename Distribution Pattern.