zoukankan      html  css  js  c++  java
  • 关于kv的jch分片存储

    确定节点同步一致

    1. 节点启动之后,先获取本地的addrbook里面的节点信息
    2. 根据获取的addrbook里面的节点信息进行校验(向addrbook里面的节点发送hash消息确认,如果都一样,则可以广播数据。如果不一致,则发送自己的节点的信息到对方的节点,同时获取对方的节点信息,如果发现数据有修改,则开启新的轮次再次向其他的节点进行hash确认,最终达到节点的一致性)
    3. 如果在整个过程中任何一次发现节点信息不一致,那么,就要修改广播的状态为false

    根据jch分发数据

    1. 在本节点的广播状态为true的情况下,进行jch算法广播数据
    2. 如果为false,则一直保存到本地的数据库中

    节点重启

    1. 节点重启之后,先进行节点一致性的确认

    节点的加入

    1. 新添加的节点里面只有seeds,所以,如果之前的系统是一个完整的系统,那么,本次需要同步完毕所有的节点信息才能写入数据

    节点的退出

    1. 节点退出之后需要通知到其他的节点,其他节点各自更新自己的节点信息

    数据迁移

    1. 在新节点添加之后,在节点同步完毕之后,就可以进行数据迁移了
    2. 迁移数据的时候,新数据不能够进行数据的写入,放到本地的广播队列中
    3. 迁移完毕之后,需要进行迁移完毕确认,确认成功之后则可以进行数据的广播

    节点的安全

    1. 节点之间进行通讯需要通过tls的方式进行网络传输
  • 相关阅读:
    基于C/S模式的程序更新下载
    拓展方法
    主从级GridView
    using 的用法
    五大数据类型
    redis的主从复制原理及步骤
    redis的发布订阅
    redis的持久化
    redis的事务
    配置文件详解
  • 原文地址:https://www.cnblogs.com/bergus/p/guan-yukv-dejch-fen-pian-cun-chu.html
Copyright © 2011-2022 走看看