Posted on 2010-04-22 20:36
Richmond 阅读(91)
评论(0) 编辑 收藏 引用
今天,接了一个任务:在开启多个网关的情况下,怎么平衡多个网关的压力? 网关的压力主要是玩家,玩家多则压力大,玩家少则压力少,那么如何做到平衡呢?刚开始我的傻瓜式思维是:在每个玩家请求连接的情况下,寻找最少压力的网关,把相应的IP和端口发给客户端去练级。我的这个方案在实际应用中缺点:1、增加很大的复杂性;2、同时效率很低。根本原因是没有根据实际情况去分析,想当然。在一般情况下,游戏服务器端开一个网关就行了(很大情况下都是这样),当一个区人数逐渐增多时,需要多开网关,分担压力,所以可以设置一个变量去维护,当某个网关的人数很多时,可以让维护人员发送明天通知这个网关暂时不接受连接请求,并通过中心服务器把最少人数的网关IP和端口发送给这个客户端,让客户端去连接这个网关。(以上是基于我现在公司的服务器架构)
通过这件事,思考问题时,应该根据实际情况去思考,这样才能得出好的解决方案。有时相同问题在不同实际情况下解决方案也有不同。