【问题标题】:rabbitmq message session stickiness for microservices微服务的rabbitmq消息会话粘性
【发布时间】:2018-08-01 06:15:53
【问题描述】:

我正在阅读有关单体应用程序的会话粘性的信息。想了解微服务的可行性。

第一季度。特别是微服务会话粘性的缺点是什么?网上很少讨论这个!由于同一个实例可能会过载(取决于应用程序的其他设计因素),因此它似乎严重影响了缩放。有任何优势吗?请对此有所了解

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

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

可能的客户端实现:

  1. 发布者使用路由密钥handshake 和会话ID 有效负载发布握手消息。
  2. 消费者创建auto_delete队列和一个与主题的绑定,topic.sessionid
  3. 发布者使用路由密钥topic.sessionid 发布消息
  4. 相应地清理!

谁能指出这里的错误

【问题讨论】:

标签: rabbitmq microservices amqp


【解决方案1】:

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


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

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

【讨论】:

    猜你喜欢
    • 2020-03-01
    • 2018-12-28
    • 2022-06-17
    • 2014-06-01
    • 2021-01-12
    • 2017-05-08
    • 2019-05-11
    • 2011-08-26
    • 2020-04-26
    相关资源
    最近更新 更多