首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >超时的Nats.io QueueSubscribe行为

超时的Nats.io QueueSubscribe行为
EN

Stack Overflow用户
提问于 2017-09-24 08:40:55
回答 1查看 1.9K关注 0票数 1

我正在评估NATS以迁移现有的基于msg的软件,我没有找到有关msg超时、异常和重载的文档。例如:

  • 选择订阅服务器后,它是否知道发布服务器发布的超时设置?有可能通知额外的时间延长吗?
  • 如果选定的订阅者知道某些DBMS连接丢失且无法完成,则可能会弹出消息。

NATS服务器将接另一个订户,并将重新发布相同的消息?

恰奥·迭戈

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-27 14:39:19

对于您的第一个问题:在我看来,您正在尝试发布带有超时的请求消息(使用nc.Request)。如果是的话,超时由客户端管理。有效地,客户端发布请求消息,并在回复主题上创建订阅。如果订阅在超时内没有收到任何消息,它将通知您超时条件,并取消对回复主题的订阅。

关于你的第二个问题--你在使用队列组吗?NATS中的队列组是指定队列组名称的订阅。具有相同队列组名称的所有订阅都由服务器专门处理。当消息到达时,服务器将选择队列组订阅之一将消息发送到它们之间的轮转。然而,服务器的责任只是传递消息。

要实现您所描述的功能,请使用超时和最多等于1的消息数来实现请求/回复功能。如果超时后没有收到响应,则客户端可以在延迟后重新发送请求消息或执行其他类型的恢复逻辑。回复消息应该是您的“协议”,以了解该消息已被正确处理。请注意,这将深入到您的消息传递体系结构的设计中。例如,超时可以在请求接收者收到并处理消息之后,但在客户端或服务器能够发布响应之前触发。在这种情况下,请求发送方将无法分辨出不同之处,最终会重新发布。这意味着这种类型的交互需要使请求成为幂等的,以防止重复的副作用。

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

https://stackoverflow.com/questions/46388219

复制
相关文章

相似问题

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