RAFT共识算法学习

本文深入探讨了RAFT共识算法,它是etcd分布式键值数据库中用于实现一致性的重要机制。etcd因其简单、安全、快速和可靠性而被广泛采用。RAFT将共识问题分解为领导选举、日志复制和安全性三个子问题,确保在部分节点故障或网络延迟情况下仍能保持数据一致。此外,文章还介绍了选举过程和避免平票的策略,以及ECDSA算法在数据安全性中的作用。

RAFT共识算法

https://raft.github.io/raft.pdf raft论文

http://thesecretlivesofdata.com/raft/ raft算法动画演示

1.分布式系统

etcd简介

etcd是CoreOS团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,etcd基于Go语言实现。

etcd作为服务发现系统,有以下的特点:

  • 简单:安装配置简单,而且提供了HTTP API进行交互,使用也很简单
  • 安全:支持SSL证书验证
  • 快速:根据官方提供的benchmark数据,单实例支持每秒2k+读操作
  • 可靠:采用raft算法,实现分布式系统数据的可用性和一致性

分布式系统的挑战

  • 时序性Timing运行在不同网络下的机器中的进程如何判断一些事件发生的顺序
  • 并发性Concurreny运行在不同网络下的机器中的进程如何共享资源而互不干扰。比如访问共同的数据库。
  • 健壮性Roubustness 应对网络的不稳定性以及硬件的不稳定性。
  • 一致性Consistency如何保障无论访问哪个服务节点,都能获得相同的结果。

分布式共识

分布式共识是分布式系统中多个节点之间,彼此对某个状态达成一致结果的过程。

分布式共识的引用(Application of Consensus)

  • 逻辑时间的共识,来决定事件发生的顺序
  • 互斥性的共识,用于决定谁正拥有访问的资源
  • 协调者的共识,谁是当下的leader

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值