Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 6 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,8 @@ sequenceDiagram
participant User
participant CloudFront
participant Request Origin Lambda@Edge
participant Response Origin Lambda@Edge
participant S3Bucket
participant DynamoDB
participant ElasticBeanstalk with Load Balancer

%% Flows
Expand All @@ -110,17 +110,15 @@ sequenceDiagram
Request Origin Lambda@Edge ->> S3Bucket: Sends Head request to check if file exists in S3
alt File exists in S3
Request Origin Lambda@Edge ->> S3Bucket: Forwarding request to S3 origin
S3Bucket ->> Response Origin Lambda@Edge: lambda edge listener
Response Origin Lambda@Edge ->> CloudFront: returns result from s3 origin
alt File is expired in S3
Response Origin Lambda@Edge ->> CloudFront: sets cache header to no-cache to avoid caching of stale data
else
Response Origin Lambda@Edge ->> CloudFront: forwards request from S3 origin
end
else File exists in S3 but is expired
Request Origin Lambda@Edge ->> ElasticBeanstalk with Load Balancer: Forwarding request to render server
ElasticBeanstalk with Load Balancer ->> S3Bucket: stores generated page
ElasticBeanstalk with Load Balancer ->> DynamoDB: updates page cache metadata
else File does not exit
Request Origin Lambda@Edge ->> ElasticBeanstalk with Load Balancer: Sends request to render page when it does not exist in S3
ElasticBeanstalk with Load Balancer ->> CloudFront: returns generated page
ElasticBeanstalk with Load Balancer ->> S3Bucket: stores generated page
ElasticBeanstalk with Load Balancer ->> DynamoDB: stores page cache metadata
end
CloudFront ->> User: returns page result
```
Expand Down
Loading