chọn Storm, Samza, Spark hay Flink để xử lý streamming?

  1. Trí tuệ nhân tạo

Minh có nhu cầu xử lý 1 lượng lớn các log event trong hệ thống ở mức near realtime. Vậy mình nên chọn framework nào nhỉ?

Từ khóa: 

trí tuệ nhân tạo

Spark stream là mini-batch nên độ trễ tương đối cao,

Storm cộng đồng lớn, có độ matured,

Flink tương đối mới.

Trả lời

Spark stream là mini-batch nên độ trễ tương đối cao,

Storm cộng đồng lớn, có độ matured,

Flink tương đối mới.

So với 2 framework còn lại thì Spark có lượng contributors lớn nhất, có tổ chức khá mạnh chống lưng là DataBricks.

Nếu không phải là xử lí quá realtime, chấp nhận > 1000ms thì chọn Spark Streaming là lựa chọn tương đối hợp lí vì.

  • Mô hình xử lí đơn giản, dựa trên mô hình xử lí theo mẻ tiến hóa lên.
  • API đơn giản, đặc biệt là đối với những bạn đã quen code Scala
  • Đáp ứng được hầu hết các use case của bài toán xử lí kiểu streaming

Flink ra đời sau nên thừa hưởng hầu hết mọi ưu điểm của Spark và bổ sung thêm rất nhiều tính năng hay, tuy nhiên cũng cần một thời gian nữa để đạt độ chín.

Dữ liệu của bạn là Near Realtime, vậy cứ Storm,Samza đi bạn.