socket服务器集群方案

银杏果果 发布于 2014/03/22 22:06
阅读 1K+
收藏 7
由于前段时间弄棋牌类socket服务器,考虑到高负荷下服务器的无缝扩展,可是网络资料太少,只能自己构思了,说动就动。在纸上画架构模型,起初考虑所有服务器使用服务套接字和客户套接字(这里的客户可是服务器与服务器通信的连接)并存的方案,可这样问题来了,随着服务器的增加,一台服务器要与所有服务器建立连接,那么这台服务器就要创建对应的多个客户套接字连接,不知道这样有没有问题,没做过测试,下意识感觉不是最优方案,于是想,为什么要建立多路通信呢?每台服务器最多有一个服务套接字和一个客户套接字,剩下的交给一台仅开有服务套接字的桥接服务器,有点像网络路由器了吧,的确,我暂定它为桥。 终端首先连接这个桥,称为握手,终端连接成功后,桥分析连接了它的其它服务器的负载情况,即连接数(这个可以定个配置文件,限定每台服务器的最大连接数),分析得出连接数最少的服务器,桥发送此服务器的ip和端口到客户终端,客户终端收到后断开与桥的连接,使用获取的ip和端口重新连接,此连接其实是两次握手的结果,为最终通信通道。 现在很多服务器集群方案都是采用中间服务器,桥的方式分发数据的,桥一旦奔溃,终端客户与服务器的通信不会断开,但服务器与服务器的数据通信将终止,这是此方案的最大弊端。 好了,先到这,不怎么精彩,第一次分享,还请海涵,各位看官还有更好的设计方案还请告知一二,谢谢。
加载中
0
5
银杏果果
银杏果果
其实应该放个架构图上去,不过太懒了,希望文字描述清楚了
0
无锡首席大都督程序员
lvs已经做了,而且做的非常好了
返回顶部
顶部