Bạn sử dụng Apache Kafka như một hàng đợi phân tán và mạnh mẽ có thể xử lý dữ liệu khối lượng lớn và cho phép bạn chuyển thư từ điểm cuối này sang điểm cuối khác.
Storm không phải là một hàng đợi. Nó là một hệ thống có khả năng xử lý thời gian thực phân phối, có nghĩa là bạn có thể thực hiện song song tất cả các loại thao tác trên dữ liệu thời gian thực.
Luồng chung của các công cụ này (như tôi biết) diễn ra như sau:
hệ thống thời gian thực -> Kafka -> Storm -> NoSql -> BI (tùy chọn)
Vì vậy, bạn có ứng dụng thời gian thực của mình xử lý dữ liệu khối lượng lớn, gửi nó đến hàng đợi Kafka. Storm lấy dữ liệu từ kafka và áp dụng một số thao tác bắt buộc. Tại thời điểm này, bạn thường muốn nhận được một số lợi ích từ dữ liệu này, vì vậy bạn có thể gửi nó đến một số db Nosql để tính toán BI bổ sung hoặc bạn có thể chỉ cần truy vấn NoSql này từ bất kỳ hệ thống nào khác.