message broker建议

ac1kyiln  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(360)

在选择messagebroker(raabitmq、redis等)或其他适合这种情况的工具时,我需要一些帮助。
我正在升级我的游戏服务器。它是由node.js编写的。它由游戏室、大厅、聊天室等多个进程组成,当用户提出请求时,消息将被路由到相关进程进行处理。我通过代码路由来实现这一点,每个进程通过节点ipc相互通信。但是,这不是太有效,而且不可扩展。另外,有些进程的工作负载很高(因为有很多请求与之相关),我们创建了多个lobby进程,并将消息随机路由到不同的lobby进程。我认为messagebroker可以在这种情况下提供帮助,而且我甚至可以通过在不同的物理服务器中放置不同的进程来扩展。我想知道哪个消息代理适合这个?发送者是否可以将消息发送到一个队列,该队列中有多个使用者竞争一条消息,而只有一个使用者使用该消息并将消息回复给发送者?谢谢。

pzfprimi

pzfprimi1#

我不能从经验中谈论kafka,但是任何消息队列解决方案,rabbitmq和activemq都可以满足您的需要。
我猜你在计划这样的流程:

REST_API -> queue -> Workers ----> data persistance  <--------+
                          |                                   |
                          +------> NotificationManager ----> user

notificationmanager可以是一个服务,它通过WebSocket或任何其他异步通信方法让用户知道。
一些解决方案最好放在一起,减轻你的负担。不仅是消息队列,而且是任务队列的解决方案将有办法从工作者那里获得响应。
机械,一个最近引起我注意的项目,在使用mongodb和rabbitmq本身的同时,完成了所有这些。

相关问题