我有许多客户端使用Post请求将对象发送到server1,然后使用套接字将其发送到server2。
Server1处理来自客户端的post requst消息转换为serverMessage。 SeverMessage是异步发送的。它会持续监听响应消息,这些消息可能以任何顺序出现,但会有自己的ID来识别它们。
一旦Server1处理了正确的MessageId
,我如何将响应发送回原始线程答案 0 :(得分:0)
如果我正确理解您的体系结构,您的客户端和业务服务提供者之间就有一个网关或类似服务定位器的东西,并且这两个服务器之间的通信也是异步的。因此,您希望将已提交的请求从业务服务提供程序发送回中间服务器。如果这是您的架构,我可以推荐两种解决方案可能很有用:
的 1。保持商业服务提供商的状态:
将任何请求的结果保存在业务服务提供商的某个安全位置(基于您的业务的数据库或内存)中并实现服务以接受 messageId 并发回结果,然后考虑到有意义的时间段您可以在服务经纪人(server1)中查询结果的时间
的 2。进行全双工通信:
您还可以在server1中提供服务端点,一旦在server2中完成任何进程,它就可以通过端点发送server1的结果