Stream processing

Chủ đề Dành cho thành viên

Bài toán

Khi batch hằng ngày hay hằng giờ không còn đủ tươi (chi tiêu quảng cáo phải dừng đúng lúc chạm ngân sách, dashboard MRR không được trễ 24 giờ, alert phải bắn khi contest sắp đầy), hệ phải tính liên tục trên luồng sự kiện thay vì quét lại dữ liệu đã nằm yên. Đổi lại, những thứ batch có sẵn nay phải tự lo:

  • State: cửa sổ, join, tổng tích luỹ phải nằm đâu đó giữa các event; mất state khi deploy hay rescale là mất dữ liệu.
  • Thời gian và thứ tự: event đến trễ, đến sai thứ tự, hai stream cần ghép không cùng nhịp.
  • Trùng và mất: at-least-once ở nguồn, retry, failover đều sinh trùng; exactly-once thật thì đắt hoặc không có.
  • Xử lý lại: code đổi, định nghĩa metric đổi, bug được sửa; output đã phát ra phải tính lại mà người dùng không thấy hệ "nhảy số".
  • Vận hành: job chạy mãi không dừng, nên HA, autoscale và migration đều phải làm khi đang chạy.

Trang này nói về tầng tính toán (Storm, Samza, Flink, Spark Streaming, Kafka Streams, KSQL). Tầng vận chuyển (broker, consumer, thứ tự, DLQ) ở Event-driven, message queue và Kafka; chọn batch hay stream trong bức tranh pipeline dữ liệu chung, CDC, lake và điều phối ở Pipeline dữ liệu và analytics.

Bạn đã dùng hết 3 bài đọc thử miễn phí

Đây là phần mở đầu của Stream processing. Thành viên đọc được toàn bộ 46 bài tổng hợp theo chủ đề và 141 dòng thời gian công ty. Các bài tóm tắt vẫn đọc tự do.

  • Đọc không giới hạn mọi bài tổng hợp và dòng thời gian
  • Danh sách đọc cá nhân hoá theo trình độ và mục tiêu
  • Cộng đồng Discord cho thành viên (sắp mở)

Gói 6 tháng giảm ~16%, gói 12 tháng giảm ~25%. Trả bằng VietQR hoặc thẻ.