分布式系统集群中节点管理
1.分库分表后数据库节点上下线管理
数据库分库分表后每个数据库节点都有自己对应的一个或多个数据库备库节点。
一致性哈希算法:
1.在很大的范围内定义哈希值如:0-2的32次方
2.将这个范围分给现有的节点
3.有新的节点加入则这个节点会接管原有某个节点分管的一部分范围的哈希值
4.有节点退出则将其管理的哈希值交个下个节点管理
一致性哈希算法并引入虚拟节点:
1.在很大的范围内定义哈希值如:0-2的32次方
2.引入虚拟节点的概念,每个虚拟节点负责连续的哈希环上的一段
3.每个物理节点负责一个或多个虚拟节点
4.有新的物理节点加入则在哈希环上均匀地添加虚拟节点,新加入的虚拟节点分走相邻的原有虚拟节点的一部分哈希值进行管理
5.有物理节点退出,则将该物理节点负责的虚拟节点的哈希值合入相邻的虚拟节点中。
节点添加或删除时的数据迁移
1.添加节点时原节点中被分走哈希值对应的数据要迁移到新节点中
2.删除节点时,被删除节点所负责哈希值合入相邻节点。哈希值所对应的数据也嵌入同一个相邻节点。
2.软负载集群中节点间数据一致性实现
集群中节点进行分工,分为数据聚合节点和数据分发节点。服务提供者连接聚合节点,服务调用连接分发节点,聚合节点将自己的数据同步到分发节点。数据同步又分为全量同步和增量同步。