多台服务器之间的通信

时间:2010-05-07 16:19:43

标签: communication

服务器网络如何相互通信?

例如,如果客户端A 连接到服务器A ,其他服务器将如何通知此情况?我猜你需要一个“中央”服务器,但它将如何实现?

我对此真是傻眼,所以任何帮助都会很好:)

4 个答案:

答案 0 :(得分:4)

分布式系统的一个要点是服务器不需要了解彼此的行为。服务器A和服务器B可以是前端服务器,甚至可以共享相同的数据库,并且仍然可以独立工作。您所指的“中央服务器”将是物理上位于第三台计算机或服务器A或服务器B上的数据库。

答案 1 :(得分:1)

您可能有兴趣阅读本文on An Analysis of the Skype Protocol,了解非常大量的计算机如何在不与中央服务器或数据库连续通信的情况下进行通信的示例。 (当用户首次登录时使用中央登录服务器。)

答案 2 :(得分:0)

其他服务器不会知道此通信,除非他们特别询问client1或server1有关它 - 如果服务器不时询问对方当前的客户列表。如果所有服务器共享同一个数据库,那么他们可能会在那里查看当前活动,但他们通常不会意识到不涉及它们的通信。

你想要完成什么,或者你只是好奇?

答案 3 :(得分:0)

如果服务器位于同一个子网上并且您正在使用IPv4,那么您可以将以太网卡置于混杂模式下吗?他们会看到来自clientA / serverA的流量。但这可能会让你可能不想打开一大堆蠕虫(安全,隐私等)。可能更可行的解决办法就是让他们共享一个共同的数据库。每个服务器在处理连接时都会更新数据库,并会定期轮询数据库以查看正在处理的其他连接。