Android 面向移动消费者的消息传递方法

Android 面向移动消费者的消息传递方法,android,jms,apache-kafka,messaging,Android,Jms,Apache Kafka,Messaging,我的系统中有数千台移动设备。它们连接到我的中央服务器。我需要有一个机制来根据特定设备正在跟踪的某个事件来更新它们(按主题通知)。假设我在服务器上有聊天记录,移动用户可以跟踪任何聊天记录,并希望在聊天记录中有效地接收新消息的通知。主要的移动平台是Android 我正在考虑使用主题(每次聊天)进行消息传递:Kafka或RabbitMQ。 请给出对移动消费者有好处的建议。卡夫卡和RabbitMQ是完全不同的方法。Kafka是一个日志存储系统(即消息的有序序列),RabbitMQ只是排队和路由 我正在设

我的系统中有数千台移动设备。它们连接到我的中央服务器。我需要有一个机制来根据特定设备正在跟踪的某个事件来更新它们(按主题通知)。假设我在服务器上有聊天记录,移动用户可以跟踪任何聊天记录,并希望在聊天记录中有效地接收新消息的通知。主要的移动平台是Android

我正在考虑使用主题(每次聊天)进行消息传递:Kafka或RabbitMQ。
请给出对移动消费者有好处的建议。

卡夫卡和RabbitMQ是完全不同的方法。Kafka是一个日志存储系统(即消息的有序序列),RabbitMQ只是排队和路由

我正在设计一个活动采购系统。我使用:

  • 卡夫卡在后台
  • 用于连接客户端的RabbitMQ(或其他平台,如XMPP)
  • RabbitMQ可以在数千个队列上很好地扩展,并允许客户端定义RPC和简单安全性所需的专用队列(未命名、临时、单个使用者、排除)。由于带宽的限制,客户端通常需要在集群上执行特定的函数,或者只读取一组经过过滤的事件(不是所有事件)。从理论上讲,卡夫卡是可以使用的,但目前存在一些挑战(即主题限制、排他队列、自动删除等)


    Kafka(+samza)是一个非常好的事件源(即在消息历史中导航)和实时流处理(自动重放、重新启动进程等)工具。不需要扩展,因为它是集成、高争议性和恢复

    MQTT似乎是解决您问题的好方法。基本上,它体积小、重量轻、效率高,而且电池寿命很长(请参阅)

    此外,MQTT是OASIS标准,有许多兼容的代理,其中一些代理允许管理数百万个同时连接(例如JoramMQ is)