Bỏ qua tới nội dung
CloudDojo
Phần 2/4 · 5 phút

Shard quota, throttling và capacity mode

0/5
Từ khóa của phần nàyChọn một từ để xem nghĩa trước khi đọc

Mỗi shard có quota thông lượng; khi lượng record vượt quota, request ghi bị throttle hoặc độ trễ đọc tăng dần nếu không điều chỉnh capacity của stream.

Mỗi shard có giới hạn thông lượng: ghi 1.000 record hoặc 1 MB mỗi giây, đọc 2 MB mỗi giây (tổng cho mọi consumer dùng GetRecords). Mô phỏng dưới đây trình bày ba sự cố MFTECH đã gặp và giải pháp tương ứng. Chạy mô phỏng trong 10 giây, sau đó bật cấu hình khắc phục:

2.400 sự kiện/s · mỗi sự kiện 0,2 KB · 2 shard
Ứng dụng di động1 sự kiện = 1 recordShard 1 · giới hạn ghi 1.000 records/s hoặc 1 MB/s—Shard 2 · giới hạn ghi 1.000 records/s hoặc 1 MB/s—giới hạn

Chọn Chạy mô phỏng 10 giây, sau đó thay đổi cấu hình và chạy lại để so sánh.

Stream có hai loại capacity mode. Provisioned: người vận hành tự xác định số shard, chi phí tính theo số shard mỗi giờ; phù hợp khi lưu lượng dễ dự đoán. On-demand: Kinesis tự động quản lý shard, không cần lập kế hoạch capacity, chi phí tính theo GB dữ liệu ghi và đọc; phù hợp khi tải biến động mạnh và khó dự đoán. On-demand gồm On-demand Standard (mỗi stream có thêm phí cố định) và On-demand Advantage (thiết lập cấp account trong Region: không còn phí cố định theo stream, cho phép cấu hình warm throughput, yêu cầu cam kết lượng dữ liệu tối thiểu). Stream on-demand mới có capacity ghi mặc định 4 MB/s và đáp ứng tới gấp đôi đỉnh ghi trong 30 ngày trước; nếu lưu lượng tăng quá gấp đôi đỉnh trước đó trong vòng 15 phút, request ghi có thể bị throttle và cần retry.

Ghi nhớ:
  • ProvisionedThroughputExceededException do gửi từng record nhỏ: gộp record trước khi gửi, chi phí thấp hơn so với tăng số shard.
  • Tải khó dự đoán: on-demand capacity mode (tới gấp đôi đỉnh ghi của 30 ngày trước).
  • Nhiều consumer có độ trễ đọc tăng dần: enhanced fan-out, mỗi consumer có 2 MB/s trên mỗi shard (tối đa 20 consumer đăng ký mỗi stream, 50 với On-demand Advantage).
Part 2/4 · 5 phút

Shard quotas, throttling and capacity modes

0/5
Từ khóa của phần nàyChọn một từ để xem nghĩa trước khi đọc

Every shard has a throughput quota; when records exceed it, write requests are throttled or read latency keeps growing unless the stream’s capacity is adjusted.

Each shard has throughput limits: writes of 1,000 records or 1 MB per second, reads of 2 MB per second (total for all consumers using GetRecords). The simulation below shows three problems MFTECH ran into and the matching solutions. Run the simulation for 10 seconds, then turn on the fix:

2.400 sự kiện/s · mỗi sự kiện 0,2 KB · 2 shard
Ứng dụng di động1 sự kiện = 1 recordShard 1 · giới hạn ghi 1.000 records/s hoặc 1 MB/s—Shard 2 · giới hạn ghi 1.000 records/s hoặc 1 MB/s—giới hạn

Chọn Chạy mô phỏng 10 giây, sau đó thay đổi cấu hình và chạy lại để so sánh.

A stream has two capacity modes. Provisioned: the operator sets the number of shards, and cost is per shard per hour; suited to predictable traffic. On-demand: Kinesis manages shards automatically, with no capacity planning, and cost is per GB of data written and read; suited to highly variable, unpredictable load. On-demand comes as On-demand Standard (each stream has an additional fixed charge) and On-demand Advantage (an account-level setting in a Region: no more fixed per-stream charge, warm throughput can be configured, a minimum data volume commitment is required). A new on-demand stream has a default write capacity of 4 MB/s and accommodates up to double the peak write throughput of the previous 30 days; if traffic grows to more than double the previous peak within 15 minutes, write requests can be throttled and must be retried.

Ghi nhớ:
  • ProvisionedThroughputExceededException from sending each small record individually: aggregate records before sending, which costs less than adding shards.
  • Unpredictable load: on-demand capacity mode (up to double the peak write throughput of the previous 30 days).
  • Several consumers with growing read lag: enhanced fan-out, giving each consumer 2 MB/s per shard (up to 20 registered consumers per stream, 50 with On-demand Advantage).

Kiểm tra nhanh

Trả lời để ghi nhận đã đọc phần này. Câu trả lời sai sẽ được nhắc ôn lại vào những ngày sau.

Ứng dụng di động gửi từng sự kiện nhỏ thành một record riêng và gặp lỗi ProvisionedThroughputExceededException. Cách khắc phục có chi phí thấp nhất?
Bốn ứng dụng cùng đọc một stream bằng GetRecords và đều có độ trễ đọc tăng dần so với producer. Cấu hình nào khắc phục?

Đã trả lời 0/2 câu