【发布时间】:2016-08-03 04:09:12
【问题描述】:
我有一个只有一个应用服务器的环境。我有一些消息需要一段时间才能服务(比如 10 秒左右),我想通过配置我的消费者应用程序运行代码的多个实例来处理这些消息来增加吞吐量。我已经阅读了“竞争消费者”模式,并认为在使用 MassTransit 时应该避免这种情况。根据 MassTransit 文档here,每个接收端点都应该有一个唯一的队列名称。我正在努力了解如何将此建议映射到我的环境。 是否有可能运行 N 个消费者实例,每个实例都接收相同的消息,但只有一个实例会实际执行它? 换句话说,我们可以实现“竞争消费者”模式,但跨多个队列而不是一个?
还是我看错了?我真的需要研究“发送”方法而不是“发布”吗? “发送”的缺点是它要求发送者直接知道端点的存在,并且我想动态地处理我拥有的消费者/端点的数量。 MassTransit 中是否有任何内置功能可以帮助跟踪有多少消费者实例/队列/端点可以为特定消息类型提供服务?
谢谢, 安迪
【问题讨论】:
标签: masstransit