我在“竞争消费者”模型和Pub / Sub模型中使用MassTransit和RabbitMQ。
3层, 第一层 =用户界面,第二层 =网关,第三层 =许多分布式服务
我有一个有竞争力的消费者模型,但我希望使用Pub / Sub执行以下操作:
网关服务发布所有已连接的订户实例消耗的消息,然后响应网关。在所有第3层响应之前,网关不响应UI,网关累积响应并最终传回UI。
我找不到在第二层检查MassTransit(无论我是否使用SAGA)的方法,以了解我在第三层有多少订阅者(如果他们都已响应,则计算出来)。总体目标是UI获得第三层累积结果的单一响应。
类似的问题是here - 目前还没有答案。
更新
实际上,我想计算inboundPipeline上的接收器数量。我应该这样做并且有一个干净的方法吗?
答案 0 :(得分:2)
Pub / Sub一般不允许您知道给定消息存在多少消费者。整个想法是你没有得到答案。
为此,您需要在应用程序中构建解决方案以跟踪它。当消耗出现时,为网关发布消息以向其注册。关闭时,请执行相同操作以删除该注册。