【发布时间】:2018-08-01 19:11:02
【问题描述】:
我们使用外部 TCP/IP 接口,其中一项要求是保持连接打开,等待处理完成,然后将结果发送回 ACK。
假设我们想要使用 MessageBus (masstransit/nservicebus) 与处理模块通信并跟踪消息状态:接收、处理、成功、失败,那么实现这一目标的最佳方法是什么?
具体来说,当消息到达处理程序/消费者时,它如何知道 TCP/IP 连接?我应该将它存储在某个自定义容器中并将其注入消费者吗?
感谢任何指导。谢谢。
【问题讨论】:
-
TCP/IP连接是用来监控NServiceBus中消息处理状态的理解正确吗?
-
为什么需要保持连接打开?
-
@HadiEskandari,当消息来自外部接口时,它会触发某些操作,例如“创建订单”。它期望确认订单是通过相同打开的 TCP/IP 连接创建还是失败。不幸的是,它不支持延迟的后续响应。这些界面是 30 年前设计的,我们无法更改它们......