- 博客(4)
- 资源 (6)
- 收藏
- 关注
原创 游戏算法系列 - 字典树
简介trie是一种搜索树,也称为字典树。最大的特点是共享字符串的公共前缀来达到提高效率的目的。 trie的核心思想是空间换时间,缺点是内存占用高 最大限度地减少无谓的字符串比较,查询效率比哈希表高性质根节点不包含字符,除根节点外每一个节点都只包含一个字符。 从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串。 每个节点的所有子节点包含的字符都...
2019-06-28 11:21:55 440
原创 游戏服务器架构系列 - 一致性Hash
一致性Hash作用主要是为了解决因为后端服务节点的动态删减导致节点不能正常服务的问题。特别是在分布式缓存系统中,如果某台服务器失效,或者需要新增服务器,对于整个系统来说如果不采用合适的算法来保证一致性,那么缓存于系统中的所有数据都可能会失效,即由于系统节点数目变少或增多,客户端在请求某一数据时需要计算hash值,所以很可能找不到保存该数据的服务器节点,因此一致性hash就显得至关重...
2019-06-25 16:50:06 723
原创 游戏服务器架构系列 - 分布式ID生成
为什么要生成分布式ID?在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。例如在游戏中,游戏数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求,那业务系统对ID号的要求有哪些呢?1)全局唯一性:不能出现重复的ID号,既然是唯一标识,这是最基本的要求。2)趋势递增:在MySQL InnoDB引擎中使用的是聚集索引,...
2019-06-25 16:48:15 794
原创 游戏服务器架构系列 - 网关限流
为什么要进行网关限流?手游的架构通常是客户端通过Socket连接直连网关,所有请求都需要经过网关,然后由网关统一进行转发,所以只需在网关进行限流即可。常见的算法主要有计数器限流、令牌桶限流和漏桶限流,这些算法都是单机的算法,正好可以用在网关限流。算法1、计数器限流严格意义上来说计数器限流不属于限流算法,使用计数器来进行限流,主要用来限制总并发数,比...
2019-06-25 15:56:47 3165
Java万年历记事本
2016-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人