queue - Nats.io:具有不同主题但具有相同命名队列的订阅者会并行处理消息吗?
问题描述
假设我们有服务器 A 和发布者,服务器 B 和 C 有消费者。我们也有5个不同的科目;富1,富2,...富5。我们总是希望只向一个消费者发送消息并且只接收一个响应。
因此,我们在发布者端使用JS SDK中的 requestOne 函数,并使用 {queue: "default"} 选项订阅函数。因此,服务器 B 和 C 都为每个主题订阅了一次。但是每次订阅时,他们都会使用名称为“default”的队列来防止多个消费者收到与docs中提到的相同的消息。
所以问题是:这个名为“default”的队列是否会在所有主题中共享?或者每个主题都有自己的名为“default”的队列,它只是在特定主题的订阅者之间共享。
例如:生产者为每个主题生成 10 条消息 2。由于所有订阅共享同一个名为“default”的队列,我们会同时处理 10 条消息还是只处理 2 条消息?
解决方案
您可以根据您指定的队列名称和主题形成一个队列组。所以“foo”的队列组与“bar”上的队列组不同。
话虽如此,使用通配符,您可以让多个主题成为同一个队列组的一部分。也就是说,组“bar”的 2 个成员监听“foo.*”将拆分处理在“foo.bar”、“foo.baz”等上发送的消息。
推荐阅读
- c# - 如何更改 Visual Studio C# 解决方案中的 protobuf 编译文件以添加字段而不影响解决方案的其余部分?
- c# - 为什么当服务是对象类型(即使它们具有实际类型)时,AutoFixture 不返回注入的服务?
- ssh - 更新后 Gitkraken 不起作用 - 错误:无法打开 SSH 通道
- cloudflare-workers - 有没有办法通过查询字符串或 HTTP 标头禁用 Huckabuy PageSpeed 产品或 Cloudflare 工作人员?
- oracle-fusion-apps - 查询以获取 Invoices oracle fusion 中的分布组合
- git - 如何将我的更改推送到非主分支
- python - 如何保存 PyTorch DataLoader 生成的图像?
- javascript - 颤动将视频放在颤动网络上的图像顶部
- python - 创建转置和 GroupBy 矩阵数据框 Python Pandas
- python - 如何修复 boto3 aws botocore.exceptions.NoCredentialsError: