设计一个安全的排队系统的思考

在游戏中设计一个优秀而且稳定的排队系统的几点思考:

1.首先需要考虑高可用(HA)问题。设计时候不能把排队系统设计成一个新的故障源。设计不能本身就是一个单点的故障。其中一个单机的排队系统,近似一个 Rate Limiting Algorithms 问题,基于漏桶或 令牌桶 做一些功能性的改良是可以的。但是如果一旦涉及高可用的问题就不一样了。因为系统要依赖一个中心化的队列数据。而要把中心化的数据设计成分布式的高可用系统,这样的设计就具有很大的挑战性。

2.需要考虑的是负载能力。比如短时间内10万甚至更多人上线,如何承担这样的流量,而又能保证服务的稳定性,也是一个很大的难题。

3.需要考虑的是响应速度和流通量。一个理想的平台级排队系统要能支撑多服多游戏,且每个服和每个游戏分别进行排队。那么这样的系统的,总通过量是很大。如何保证所有用户都能够稳定,快速的顺序通过,是很大的挑战。

4.需要考虑的是健壮度,或者说抵抗黑客的攻击性。要保证一定的流通量,但是又不能被攻击者阻塞,这样的系统设计并不简单。因为先于登录游戏的系统,不管是CC攻击还是DDOS攻击,都要有更强的抵御能力,才能保证业务系统不受影响。

更多安全技术文章,请关注 “游戏安全攻防” 公众号,一起学习,一起进步。

猜你喜欢

转载自blog.csdn.net/c_kongfei/article/details/113067984