2014-04-18 17 views
6

Chúng tôi đã thực hiện trò chuyện thỏmq trong Android. nhưng java khách hàng của rabbitmq là sức mạnh đói.is rabbitmq tốt cho android chat ?. chúng tôi đã sử dụng hàng đợi trao đổi trực tiếp cho cá nhân và các khóa định tuyến riêng lẻ. mô hình thiết kế tốt nhất cho trò chuyện một trong một trong rabbitmq là gì. và cũng là cách để giảm mức sử dụng pinsử dụng rabbitmq trong android để trò chuyện

Trả lời

8

Tôi không nghĩ rằng việc sử dụng RabbitMQ trực tiếp để phát triển trò chuyện là giải pháp tốt hơn.

Có giải pháp khác nhẹ hơn vui lòng đọc số post về MQTT này.

Một giải pháp tiêu chuẩn khác là sử dụng giao thức XMPP (ví dụ: whatsup sử dụng XMPP tùy chỉnh).

Chúng tôi đã thực hiện một số thử nghiệm và chúng tôi cũng gặp một số vấn đề về mức tiêu thụ pin.

BTW, bạn có thể kết hợp các công nghệ, trộn RabbitMQ với tư cách back-end và một số máy chủ khác (XMPP, MQTT) làm giao diện người dùng.

Đọc điều này post về MQTT.

MQTT sử dụng bởi Facebook Messenger

EDIT

tôi sẽ thêm bài này MQTT vs. XMPP Which Should I Choose?

EDIT2

Vui lòng đọc cũng thisthis trên nhóm thỏmq chính thức

1

Có thể bạn có thể kết hợp RabbitMQ với GCM để tiết kiệm điện khi GCM bị hệ thống kích hoạt và không cần giữ thêm bất kỳ kết nối nào.

Ví dụ:

Ứng dụng được thông báo qua GCM khi bất kỳ sự kiện mới đi kèm trong Sau đó, một kết nối Rabbit mới được thành lập, lấy dữ liệu và timeouting sau một thời gian ngắn nữa, nếu không có tin nhắn đang đến. lần nữa.

Vì vậy, "đói" thực sự chỉ tồn tại trong một thời gian ngắn và chỉ khi cần thiết.

Bạn cũng có thể phân tích mà người dùng có xu hướng luôn luôn viết nhiều thông điệp gần đằng sau một khác và thay đổi thời gian chờ dựa trên giá trị đó

0

Tôi nghĩ rằng các ứng dụng chat cho giao hàng theo thời gian thực được gửi tin nhắn qua mạng ngay lập tức chứ không phải là độ tin cậy . Độ tin cậy có nghĩa là xác nhận việc nhận hàng. Nhưng trong ứng dụng chat trong thời gian thực không đảm bảo nó. RabbitMQ là một máy chủ môi giới tin nhắn và nó được dành riêng cho độ tin cậy đầu tiên, nhưng nó không chịu trách nhiệm về truyền thông tin nhắn thời gian thực. Bạn có thể sử dụng RabbitMQ để giao tiếp trong thời gian thực nhưng đôi khi có thể không theo thời gian thực.

Bạn có thể sử dụng STOMP-WebSocket (Đối với thông điệp đơn giản), Firebase (phát triển dễ dàng cho tin nhắn tức thời), nhưng hầu hết giao thức chuyên nghiệp và có thể sử dụng là XMPP (Extensible Nhắn tin và Presence Protocol) để giao tiếp thời gian thực.

Nếu bạn có bất kỳ đề xuất hoặc truy vấn nào đối với câu trả lời này, hãy để tôi nhận xét dưới đây.

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