默认
发表评论 6
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
你的描述不清楚,补充以下问题可以更精准地帮你找到解决方法:
1)是移动端IM吗?
2)现在的架构就已经做了集群吗?
3)如果做了集群,那你们的负载分配算法是怎么样的能否描述一下。
评论 6
理论上应该有负载均衡机制,你可以深入研究下,看看到底是什么均衡算法。因为你的需求:要根据客户端网络状况自动选择的话,可能跟这个负载均衡算法会有冲突。

不过,抛开集群本身不说,只是单纯地想让客户端根据网络自动选择服务器,那就只能在客户端实现一个简单的ping算法,取ping值最小的服务器连上就可以了。至于ping值怎么取,这就是你要根据生产环境下的网络实际情况来权衡了,构思一个小小的算法。

另外,你文中提到断网后就连接到下一个,个人认为是太粗暴了点。因为移动网络本身的不可靠性,某个时刻断线并不意味着这个服务器的连接就比别的差,只是因为刚才只是转个身信号被挡住了而已。建议你在写个简单的定时ping算法,自动维护一个服务器列表,通过长时间的ping可以得出更公正的结果,一旦到了要决定换连接的时候,通过这个结果列表,取最佳ping结果的服务器,再去决定要连接就合理多了。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部