游戏服务器架构系列
分享游戏架构中的组件
麦超
这个作者很懒,什么都没留下…
展开
-
游戏服务器架构系列 - 网关限流
为什么要进行网关限流?手游的架构通常是客户端通过Socket连接直连网关,所有请求都需要经过网关,然后由网关统一进行转发,所以只需在网关进行限流即可。常见的算法主要有计数器限流、令牌桶限流和漏桶限流,这些算法都是单机的算法,正好可以用在网关限流。算法1、计数器限流严格意义上来说计数器限流不属于限流算法,使用计数器来进行限流,主要用来限制总并发数,比...原创 2019-06-25 15:56:47 · 3192 阅读 · 0 评论 -
游戏服务器架构系列 - 一致性Hash
一致性Hash作用主要是为了解决因为后端服务节点的动态删减导致节点不能正常服务的问题。特别是在分布式缓存系统中,如果某台服务器失效,或者需要新增服务器,对于整个系统来说如果不采用合适的算法来保证一致性,那么缓存于系统中的所有数据都可能会失效,即由于系统节点数目变少或增多,客户端在请求某一数据时需要计算hash值,所以很可能找不到保存该数据的服务器节点,因此一致性hash就显得至关重...原创 2019-06-25 16:50:06 · 741 阅读 · 0 评论 -
游戏服务器架构系列 - 分布式ID生成
为什么要生成分布式ID?在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。例如在游戏中,游戏数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求,那业务系统对ID号的要求有哪些呢?1)全局唯一性:不能出现重复的ID号,既然是唯一标识,这是最基本的要求。2)趋势递增:在MySQL InnoDB引擎中使用的是聚集索引,...原创 2019-06-25 16:48:15 · 812 阅读 · 0 评论