message-queue - NATS - 只需一个订阅者即可对微服务架构中发布的事件采取行动

标签 message-queue nats.io nats-streaming-server

我是 NATS 的新手,已经阅读了以下所有示例: https://nats.io/documentation/concepts/nats-messaging/

我在 Microservciearchitecture 中,其中微服务-Y (MSY) 需要存储从其他微服务-X (MSX) 发布的一些信息我有 2-10 个 MSY 实例,因此当在 MSX 和 MSX 实例中进行更改时发布事件我希望只有 1 个 MSY 实例应该保存信息,因此并非所有实例都保存相同的数据。 我已阅读请求回复: https://nats.io/documentation/concepts/nats-req-rep/ 但似乎所有实例都收到消息(并将处理它),即使它是点对点的,并且只为最快回复的一个实例处理回复

这是正确的还是我误解了示例? 如果我只需要 1 个 MSY 实例来处理给定消息(将数据存储在数据库中),我该怎么做才能实现这一目标?

最佳答案

使用队列组。如果您在同一个队列组中有多个关于同一主题的订阅,则只有该组的一个成员会收到消息。 检查一下:https://nats.io/documentation/concepts/nats-queueing/

关于message-queue - NATS - 只需一个订阅者即可对微服务架构中发布的事件采取行动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50187925/

相关文章:

GO lang NATS 队列与多个队列订阅

rabbitmq - 使用 EasyNetQ 和 RabbitMQ 来发布和接收消息

go - 超时时的 Nats.io QueueSubscribe 行为

c - 在 linux c 中使用已知的 key_t 查找 msqid

node.js - 用于连接到 NATS 事件总线的 Kubernetes 部署配置

java - NATS 持久消息 Java 客户端

node.js - 如何在Docker中将NATS服务器连接到NodeJS应用

c# - 如何集中监控发送到应用程序或 winform 的消息

python - 如何优雅地杀死正在监听消息队列的线程