首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nats.io:主题不同但队列名称相同的订阅者是否会并行处理消息?

Nats.io:主题不同但队列名称相同的订阅者是否会并行处理消息?
EN

Stack Overflow用户
提问于 2018-09-07 05:17:45
回答 2查看 980关注 0票数 0

假设我们有发布者的服务器A和消费者的服务器B和C。我们还有5个不同的主题: foo1,foo2,...foo5。我们总是希望只向一个消费者发送一条消息,并且只接收一个响应。

因此,我们在发布者端使用来自队列的requestOne函数和带有{ JS SDK:"default"}选项的subscribe函数。因此,服务器B和C都为每个主题订阅了一次。但是每次他们订阅时,他们使用名为"default“的队列,以防止多个消费者收到docs中提到的相同消息。

所以问题是:这个名为"default“的队列会在所有主题之间共享吗?或者每个主题将具有其自己的名为"default“的队列,并且该队列仅在特定主题的订阅者之间共享。

例如: producer为每个主题生成10条消息2。我们是同时处理10条消息,还是只处理2条消息,因为所有订阅都共享名称为"default“的相同队列?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-29 04:18:48

您可以根据指定的队列名称和主题形成一个队列组。因此"foo“队列组不同于"bar”上的队列组。

也就是说,使用通配符,您可以将多个主题作为同一队列组的一部分。也就是说,监听"foo.*“的组"bar”的2个成员将分割对"foo.bar“、"foo.baz”等上发送的消息的处理。

票数 1
EN

Stack Overflow用户

发布于 2018-10-25 17:14:54

不同主题中的相同队列名称是分开的。

您可以使用以下链接中的示例对其进行测试。https://nats.io/documentation/additional_documentation/nats-queueing/

启动nats服务器

gnatsd

子subject1

运行nats-qsub.go subject1默认

..。

子subject2

运行nats-qsub.go subject2默认

..。

pub subject1&2

运行nats-pub.go subject1 "message“

..。

运行nats-pub.go subject2 "message“

..。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52212281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档