确定节点同步一致

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

根据jch分发数据

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

节点重启

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

节点的加入

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

节点的退出

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

数据迁移

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

节点的安全

  1. 节点之间进行通讯需要通过tls的方式进行网络传输

转载于:https://www.cnblogs.com/bergus/p/guan-yukv-dejch-fen-pian-cun-chu.html

关于kv的jch分片存储相关推荐

  1. MongoDB分布式(分片存储)部署

    分别开启一个Config和两个Shard D:\mongodb1\bin\mongod --configsvr --dbpath D:\mongodb1\db\ --port 27020 D:\mon ...

  2. redis集群分片存储

    文章目录 redis集群分片存储 为什么要分片存储 官方集群方案 搭建集群 集群关心的问题 Java客户端代码 非官方集群方案 redis集群分片存储 为什么要分片存储 假设公司用户有3千万,用户基本 ...

  3. java如何实现redis分片存储_面试官:你说一下Redis吧,怎么实现高可用,还有持久化怎么做的?...

    前言 作为Java程序员,在面试过程中,缓存相关的问题是躲不掉的,肯定会问,例如缓存一致性问题,缓存雪崩.击穿.穿透等.说到缓存,那肯定少不了Redis,我在面试的时候也是被问了很多关于Redis相关 ...

  4. java如何实现redis分片存储_Redis的分片机制

    前言:大家都知道redis单台的默认内存大小一般是10M.如果现在需要我们将1G的数据保存到内存中.这该如何做到呢?比如我们就用单台redis,但是一味的扩大单台redis内存则直接影响执行的效率,会 ...

  5. java如何实现redis分片存储_AOP与Redis缓存实现

    1. AOP实现缓存业务 1.1 业务需求 1). 自定义注解 @CacheFind(key="xxx",second=-1) 2). 使用自定义注解 标识业务方法 将方法的返回值 ...

  6. 数据库 shard 分片存储

    2.1.1什么是数据切分 "Shard" 这个词英文的意思是"碎片",而作为数据库相关的技术用语,似乎最早见于大型多人在线角色扮演游戏中."Shard ...

  7. Redis集群分片存储原理图

  8. MongoDB:海量存储基础-分片架构

    文章目录 1.分片架构 2.分片策略 3.读写策略 4.数据迁移 1.分片架构 分片是数据库中常用的提升存储容量的方式,它基于水平拓展的思想,将大量的数据按一定规则分配到不同的服务器中存储,比如MyS ...

  9. 【Alios-things笔记】EMW3060 Flash用户数据存储KV

    [KV介绍] KV组件是AliOS Things中一个以Key-Value方式进行持久化存储的轻量级组件,主要为基于nor flash的小型MCU设备(Micro Control Unit)提供通用的 ...

最新文章

  1. 使用redis和mysql的开源项目_干货!带你了解为什么那么多开源项目都是用Redis!...
  2. visual studio 自动整理代码
  3. bash之预定义变量
  4. 【JavaScript】正则表达式
  5. boost::empty_value的实例
  6. python:使用Djangorestframework编写post和get接口
  7. 字符串去重_文件数据去重示例
  8. 学习OpenCV2——卡尔曼滤波(KalmanFilter)详解
  9. kops_使用KOPS的Kubernetes群集中SQL Server
  10. 标准C语言程序设计第七版pdf,C语言程序设计(向华)7.pdf
  11. 分享一个手写轮播图的学习案例
  12. 20182319彭淼迪 2019-2020-1 《数据结构与面向对象程序设计》实验一报告
  13. App开发 - 谈谈App架构的演进
  14. 中西方对时间的差异_中西文化的差异-2 时间观
  15. wireshark抓包:分析阿里小蜜网络通信方式
  16. 安卓手机上最好的3个txt阅读器
  17. 疫情可视化part3
  18. 快速写出高质量IEEE论文的经验总结
  19. vue vant优惠券使用
  20. 2018沈阳网络赛J

热门文章

  1. pip下载安装与环境配置
  2. 程序员如果不能干到退休,那程序员的路何去何从?
  3. 现如今有一个很有意思的现象,不管是工厂还是经销商
  4. 为什么很多人赚不到钱?
  5. linux 命令行删除分区,如何在 Linux 中删除分区
  6. sql ddl中key_SQL DDL:SQL Server中SQL DDL命令入门
  7. 使用和执行SQL Server Integration Services包的方法
  8. ssas表格模型 权限控制_如何在SQL Server 2016中自动执行SSAS表格模型处理
  9. Android环境配置(Eclipse全开发环境下载)
  10. JQuery插件,轻量级表单模型验证