Skip to the content.

Nhật ký tự học Solution Architecture Associate AWS - Week 4 (25/10/2021 - 31/10/2021)

SAA-badge

Những thứ mình đã học được trong một tuần qua:

Design highly-available workload with Auto Scaling + ELB:

Auto Scaling là dịch vụ cho phép bảo đảm rằng dịch vụ của bạn có đủ tài nguyên tính toán (EC2 Instance) để xử lý các yêu cầu. Bạn thiết đặt các thông số như số instance tối thiểu, tối đa và cần thiết, và Auto Scaling sẽ duy trì Auto Scaling group có được số instance như mong muốn

Auto-scaling

Launch template là template sử dụng để Auto Scaling khởi tạo các instance cho group hoặc khi cần scale out. Nó bao gồm các thông tin như AMI id, instance type, key pair. Việc này giúp cho việc khởi tạo instance trở nên thuận tiện, tránh lặp đi lặp lại các bước thủ công

Scaling policy là cách để Auto Scaling biết cách thực hiện việc tăng (scale out) hoặc giảm (scale in) số lượng instance trong group. Có 2 cách chính để scale : manually (thủ công) hoặc dynamically(tự động)

Manual scaling là tự thêm vào các instance, nếu bạn không cần quản lý tự động các instance hoặc muốn giữ chúng ở một số lượng như mong muốn

Dynamic scaling là dựa vào sự thay đổi trên lưu lượng các yêu cầu đến ứng dụng mà scale cho phù hợp, các phương án bao gồm:

Thiết kế cơ chế Decoupling với SQS / ELB

Simple Queue Service (SQS) có thể được sử dụng để tạo nên cơ chế gắn kết lỏng lẻo (loosely coupled) giữa các thành phần trong hệ thống.

loose-coupling

SQS thường được dùng trong hệ thống tin nhắn phân tán để giúp tách rời các thành phần trong hệ thống. Hệ thống này thường gồm 3 phần: các thành phần trong hệ phân tán, hệ thống queue (SQS) và tin nhắn trong queue

Vòng đời của một tin nhắn trong hệ thống: message-lifecycle

Bước 1: Thành phần 1 sẽ gởi tin nhắn đến queue. Tin nhắn sẽ được sao chép và phân phối dư ra đến các server Bước 2: Thành phần 2 sẽ yêu cầu tin nhắn từ queue. Trong thời gian thành phần này nhận và xử lý tin nhắn, tin nhắn này sẽ không phản hồi request từ các thành phần khác. Khoảng thời gian này gọi là visibility timeout Bước 3: Sau khi xử lý xong, thành phần 2 sẽ xóa tin nhắn khỏi hệ thống

Các loại queue chính:

Long polling: là cách để hạn chế phản hồi rỗng khi hệ thống yêu cầu liên tục từ queue (nhưng queue không có sẵn tin nhắn). Hệ thống sẽ chờ tin nhắn xuất hiện trên queue cho đến 20s trước khi trả về phản hồi.

Dead-letters queue: dùng để lưu trữ tin nhắn từ các queue khác mà không được xử lý. Được dùng để debug message

Resilient Storage

S3

S3 là object storage. Các file cần lưu sẽ được lưu dưới dạng object trong S3 bucket

S3 được thiết kế để cung cấp 99.999999999% durability and 99.99% availability S3 quản lý truy cập theo những cách sau:

Monitoring:

Storage Class:

Resiliency with multi AZ / Cross-region replication