2016-10-03 38 views
-2

我正在使用ASP.NET MVC与C#。我的项目之一是要求在三台服务器之间传递数据。如何在asp.net中的三个不同服务器之间传递数据C#

下面是场景的详细解释:

1)有服务器1(Web服务器),其中的网站已经通过IIS托管。

2)Server1的发送请求到Server

3)服务器2发送响应于Server3的。 (服务器2不能直接发送响应到server1)

4)Server3的通响应回到Server1。

如何时,有server(服务器)和服务器1之间的连接中断?正如在任何情况下server1的重定向服务器3从强制性知道目前的状态处理情况。

更多细节: 该项目与购物车相关。 Server1是在IIS上托管网站,客户选择产品并启动支付流程。服务器2是支付网关(但根据客户要求,支付网关不会将响应发送回网站即server1,它会将响应发送到另一个服务器即server3) .Server3是冗余服务器,并与Web服务器连接。它位于IIS上,用于从支付网关获取响应并将其传递给Web服务器。所以Server3充当服务器1和服务器2之间的接口。

请指导我寻求最佳解决方案?

+0

这是链中的处理API请求 - 或者是你在谈论实际的网络请求?我不确定您希望处于您在服务器之间传递请求的情况。我认为有一个更好的架构 - 可能是负载平衡器背后的服务? – MichaelLake

+0

您能否介绍一下Server2/Server3中托管的应用程序类型? IIS或Windows服务或其他? – RajN

+0

来自server1的第一个请求将请求的状态标记为“挂起”,然后当响应来自server3时,您可以将状态更新为'complete'。所以在任何情况下,连接中断或错误,你将有待处理和已完成请求的记录 – Mehmood

回答

0

如果一个松耦合的沟通方式,也asyncronous然后去排队,并使用发布/订阅模式。

比方说你有一个名为MessageingQueue队列和队列里面有3个主题

第一个是Server1ToServer2 第二个是Server2ToServer3 第三个是Server3ToServer1

服务器1对Server3ToServer1邮件订阅 服务器2将订阅Server1ToServer2上的消息 服务器3将订阅Server2ToServer3上的消息

服务器1将向S发送消息erver1ToServer2队列,服务器2将它捡起来,将消息发送到Server2ToServer3话题将由服务器3采摘,最后服务器3将在最后一个响应发送到Server3ToServer1

相关问题