2016-05-23 16 views
6

Tôi đang phát triển một ứng dụng nhắn tin di động là gì. Tôi đã trải qua công nghệ cần thiết và tìm thấy hai MQTT & Apache Kafta. Đối với tôi, cả hai dường như làm điều tương tự theo cùng một cách (về đăng ký & xuất bản cho một chủ đề).Sự khác nhau giữa nhà môi giới MQTT và Apache Kafka

Tôi nghe nói rằng MQTT phù hợp với điện thoại di động vì nó có trọng lượng rất nhẹ? Vì vậy, về cơ bản sự khác biệt giữa hai điều này và lợi thế của nhau là gì?

+0

Stackoverflow không phải là địa điểm để yêu cầu so sánh các công nghệ – hardillb

Trả lời

16

Động cơ chính đằng sau kafka đang mở rộng quy mô.

MQTT là giao thức có đặc điểm kỹ thuật công khai cho truyền thông khách hàng/nhắn tin nhẹ, cho phép xuất bản/đăng ký trao đổi. Việc triển khai nhiều thư viện và môi giới của khách hàng (Mosquitto, JoramMQ ...) tồn tại và hầu như tương thích. MQTT chỉ xác định giao thông và phần mơ hồ của ứng dụng (tức là cách dữ liệu được xử lý và có thể được lưu trữ, cách khách hàng được ủy quyền ...). Thông số kỹ thuật không rõ ràng nếu dữ liệu được tiêu thụ trên một chủ đề chỉ là thời gian thực hoặc có thể tồn tại. Thông số này không nêu rõ bất kỳ điều gì về cách nhà môi giới tin nhắn triển khai MQTT có thể/nên mở rộng quy mô. Mặt khác, Apache Kafka là một nhà môi giới tin nhắn dựa trên một "đăng nhập cam kết" nội bộ: trọng tâm của nó là lưu trữ lượng lớn dữ liệu trên đĩa, và cho phép tiêu thụ trong thời gian thực hoặc sau đó (miễn là dữ liệu vẫn có sẵn trên đĩa). Nó được thiết kế để có thể triển khai dưới dạng cụm nhiều nút, với các thuộc tính scalabily tốt. Kafka sử dụng giao thức mạng riêng của mình.

Vì vậy, bạn đang so sánh hai thứ khác nhau ở đây: giao thức phụ/pub chuẩn (với nhiều triển khai) và phần mềm lưu trữ/phân phối tin nhắn cụ thể, vaguley của cùng một gia đình với giao thức riêng.

Tôi muốn nói rằng nếu bạn cần lưu trữ lượng lớn thư, để đảm bảo xử lý theo lô, hãy xem thêm tại Kafka. Nếu bạn có rất nhiều khách hàng/ứng dụng trao đổi thư trong thời gian thực trên nhiều chủ đề công khai, hãy xem xét nhiều hơn các triển khai của người môi giới thư MQTT (hoặc thậm chí AMQP).

+0

Kafta có lý tưởng cho ứng dụng di động nhắn tin như whatsapp không? – manish

+0

vâng, tại sao không! nó phụ thuộc vào chúng tôi cách chúng tôi thiết kế kiến ​​trúc .. –

+0

lý do tại sao tôi hỏi vì tôi biết rằng MQTT là 'trọng lượng nhẹ' và dấu chân nhỏ nên phù hợp với thiết bị di động. Vậy còn kafta thì sao? – manish

Các vấn đề liên quan