zoukankan      html  css  js  c++  java
  • etcd

    1,将数据存储在集群中的高可用的K-V存储

    2,允许应用实时监听存储中的K-V变化

    3,能够容忍单点故障 能够应对网络分区

    原理:

    上图5个节点的集群

    2N+1   5个节点的集群大多数是N+1  3个节点 只要有3个节点能被赋值,那么这个日志就能被提交,不会被丢失

    1-7日志是成功被提交的日志,8是失败的

    上图由7个节点组成的raft节点  大多数为zn+1=7  n+1=4大多数为4

    1,第一任村长为f节点而且成功赋值给了其它节点,接着down机了,然后马上重启,因为leader重启了,所以重新选举

    a-f看谁运气好了,每个节点都有3个编码为1的日志,任一节点都可能成为leader,

    2,从图可以看出f运气比较好第二次又被选为村长了

    此时f得到3编码为2的3条日志但是马上又挂掉了,接着又重启收到编码为3的5条日志又挂了

    此时f节点虽然日志多 但是成功提交的和其它节点是一样的多 编码为1的  2 ,3 没有成功提交

    3,编码为4的日志可以看出e为编码为4的节点,而且成功复制了2条日志给其它节点,此时e又down机了

    。。。。。。。。。。。。不一一分析了。。。。。有兴趣的可以继续分析。。。。

    总结:

    leader在down机重启后发现 已经有了新的leader 此时会拉取到新的数据发现 该数据是大多数节点认可的,就会覆盖本地的

     

     

     

     

    实战任务:

    *搭建单机etcd 熟悉命令行操作

    *golang调用etcd的put/get/delete/lease/watch

    *使用txn事务功能 实现分布式乐观锁

  • 相关阅读:
    pmtk3
    SIFT算法研究
    Kd-Tree算法原理和开源实现代码
    统计学习精要
    svm
    UIUC同学Jia-Bin Huang收集的计算机视觉代码合集
    图像识别领域的一些code
    传输媒体、表示媒体、感觉媒体、表现媒体的区别
    海明码奇偶校验
    ip和子网掩码的判断
  • 原文地址:https://www.cnblogs.com/sunlong88/p/11294817.html
Copyright © 2011-2022 走看看