rabbitmq消息会话粘性微服务

时间:2018-02-21 15:35:06

标签: rabbitmq microservices amqp

我正在阅读单片应用程序的会话粘性。想要了解微服务的可行性。

Q1。特别是微服务会话粘性的缺点是什么?互联网并没有多少谈论这个!由于同一实例可能过载(取决于应用程序的其他设计因素),它似乎严重影响扩展。是否有任何优势?请注意这个

鉴于rabbitMQ消息传递用于微服务间通信,是否可能将RabbitMQ消息的会话粘性路由到工作队列。也就是说,消息中的标题可能有session=xxx,并且到达该队列的具有相同会话的所有消息都被路由到同一个客户端。

RabbitMQ或AMQP似乎没有这样的配置。

可能的客户端实施:

  1. Publisher使用路由密钥handshake和会话ID有效负载发布握手消息。
  2. 消费者使用主题auto_delete
  3. 创建topic.sessionid队列和绑定
  4. Publisher使用路由密钥topic.sessionid
  5. 发布消息
  6. 相应清理!
  7. 有人能指出这里的错误

1 个答案:

答案 0 :(得分:1)

RabbitMQ团队监控this mailing list,有时只回答StackOverflow上的问题。

你的方法似乎很合理。主题交换和绑定到该主题的队列是我建议的。您的流程的第1步确实需要一个队列来与您的所有conusmer同步握手消息,这可能会成为瓶颈,具体取决于您的消息速率。

请记住,无法在任何地方路由的邮件将会丢失,因此我建议您阅读此处的备用交换 - https://www.rabbitmq.com/ae.html