面向移动用户的android消息传递方法

rta7y2nd  于 2021-06-07  发布在  Kafka
关注(0)|答案(2)|浏览(276)

**结束。**此问题不符合堆栈溢出准则。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

四年前关门了。
改进这个问题
我的系统里有成千上万的移动设备。它们连接到我的中央服务器。我需要有一个机制,以更新他们的一些事件的基础上,特定的设备正在跟踪(通知主题)。假设我在服务器上有聊天室,移动用户可以跟踪任何聊天室,并希望有效地接收聊天室中新消息的通知。主要的移动平台是android。
我正在考虑使用topic(每次聊天)来传递消息:kafka或rabbitmq。请给出对移动消费者有好处的建议。

q9yhzks0

q9yhzks01#

mqtt似乎是解决您问题的好方法。基本上,它体积小、重量轻、效率高,而且电池寿命非常长(请参阅facebook messenger使用的mqtt)。
此外,mqtt是oasis标准,有许多兼容的代理,其中一些允许管理数百万个同时连接(例如jorammq用于非常可扩展的应用程序)。

hc2pp10m

hc2pp10m2#

Kafka和拉比是完全不同的方法。kafka是一个日志存储系统(即消息的有序序列),rabbitmq只是排队和路由。
我正在设计一个事件来源系统。我使用:
Kafka在后台
rabbitmq(或其他平台,如xmpp)连接客户端
rabbitmq可以在数千个队列上很好地扩展,并允许客户机定义rpc和简单安全性所需的私有队列(未命名、临时、单一使用者、排除)。由于带宽的限制,客户机通常需要在集群上执行特定的函数,或者只读取一组经过过滤的事件(不是所有的事件)。从理论上讲,Kafka是可以使用的,但现在有几个挑战(即主题限制、排他队列、自动删除等)。
kafka(+samza)是一个非常好的工具,用于事件源(即浏览消息的历史)和实时流处理(自动重放、重新启动进程等)。扩展不是一个需要,因为它是集成,高争议和恢复。

相关问题