Nats.io队列,同步行为

Nats.io queue, synchronous behavior

根据https://nats.io/documentation/concepts/nats-queueing/

Synchronous queue subscribers must build in logic to process the message.

这是否意味着如果队列中有 10 条消息,只有一个订阅者收到第一条消息,并且在回复后,第二条消息将转到另一个订阅者?

如果不是,有没有什么短信软件或系统可以满足我上面提到的情况?

突出显示的句子表示支持异步订阅者的客户端在回调中异步处理消息,而具有同步订阅者的客户端就地处理它们(或将它们传递给另一个goroutine/thread/etc)。

NATS 队列订阅(在 NATS 核心和 NATS 流中)将在队列订阅者之间随机发送消息,而不是等待响应。如果您有十条消息发送给两个队列订阅者(A 和 B),队列订阅者 A 可能会处理消息 1、3、4、6、9,而队列订阅者 B 会处理消息 2、5、7、8、10。这些可能以不同的速率处理消息,因此对于队列消费者,NATS 不保证传递顺序。

如果您需要串行处理多个队列订阅者之间的消息,您将需要某种协调 - 这可能是分布式事务协调器或分布式锁。