“一致性hash的设计初衷是解决分布式缓存问题,它不仅能起到hash作用,还可以在服务器宕机时,尽量少地迁移数据。因此被广泛用于状态服务的路由功能”
01
—
分布式系统的路由算法
假设有一个消息推送系统,其简易架构如下
02
—
什么是一致性hash算法
03
—
一致性hash在系统中的应用
首先根据不同号段选择对应的集群,这部分是可配置的
确定集群后,根据一致性hash把设备匹配到server的某个instance上(每台server部署多个设备接入层实例(1.每个instance保存的状态信息更分散;2.服务的gc问题会有缓解)
建立机器虚拟节点:把user逆序(打乱之前连续userId),组成新的资源段;相当于建立了server虚拟节点
记录每台server锁服务的设备数,如果机器A挂了,挑选服务设备数最少的机器去承接kicked-device
04
—
不是所有情况都适合一致性hash
长按订阅更多精彩▼
您的转发是对我最大的支持
如有收获,点个在看,诚挚感谢