ICode9

精准搜索请尝试: 精确搜索
  • Consul作为注册中心在云环境的实践与应用2021-02-01 15:01:05

    前言 本文主要介绍Consul作为注册中心在『云』环境的实践与应用。开始本文介绍之前,首先会简单介绍注册中心基础知识以及相关理论,以便读者更好的理解,随后会重点介绍在『云』环境中使用Consul作为注册中心的实践经验。 注册中心介绍 在微服务架构流行之前,注册中心就已经出现在分

  • 用动图讲解分布式 Raft2021-01-28 09:36:10

    一、Raft 概述 Raft 算法是分布式系统开发首选的共识算法。比如现在流行 Etcd、Consul。 如果掌握了这个算法,就可以较容易地处理绝大部分场景的容错和一致性需求。比如分布式配置系统、分布式 NoSQL 存储等等,轻松突破系统的单机限制。 Raft 算法是通过一切以领导者为准的方式,实现

  • ETCD2020-12-25 22:02:08

      1.什么是etcd etcd 是一个分布式键值对存储,设计用来可靠而快速的保存关键数据并提供访问。通过分布式锁,leader 选举和写屏障(write barriers)来实现可靠的分布式协作。etcd集群是为高可用,持久性数据存储和检索 而准备。 "etcd"这个名字源于两个想法,即 unix “/etc” 文件夹

  • 共识算法:Raft协议介绍2020-12-23 16:58:46

    一、背景概述 在分布式系统中,通常需要多副本进行备份,但是副本的同步一致一直是一个比较棘手的问题。Raft算法是一个能够代替Paxos的分布式一致性算法,能够管理日志复制(replicated log),他的性能与Paxos不相上下,但是却比Paxos更容易理解。 Paxos存在的问题: 难以理解(不过《Paxos Made

  • 读《etcd 技术内幕》2020-12-21 11:59:50

      etcd 是一个可靠的分布式 KV 存储,其底层使用 Raft 算法保证一致性,主要用于共享配置和服务发现。 etcd 代码为了性能,使用了大量的 goroutine 和 Channel。 etcd-raft 模块是 etcd 的核心模块之一,是实现 raft 协议的。 etcd-rafthttp 模块 watcher 机制 Lessor WAL 日志 SnapSh

  • Go(进阶):06---Go语言实现Raft算法(简易版,不带日志复制)2020-12-13 15:57:36

    一、Raft协议介绍  在前面的文章中介绍过了,详细请参阅https://dongshao.blog.csdn.net/article/details/111087025本文是一个简易版本的实现,不带有日志复制。下一篇文章会介绍一个完整版本的Raft算法请参阅:https://dongshao.blog.csdn.net/article/details/111122360 二、版本1

  • 你应该了解的Nacos配置中心2020-10-28 09:50:27

    背景 上回我们说到Nacos的注册中心,我们讲了注册中心的一致性协议,订阅和注册的原理,有兴趣的可以看一下上一篇文章:你应该了解的Nacos注册中心。在Nacos中还有一个功能特别重要那就是配置中心,在这里先不具体介绍配置中心是什么,先来忆苦思甜一波。 在我们最开始做一些简单的学习项目的

  • Orchestrator 集群扩容后新节点无法加入集群2020-09-06 16:01:38

    Orchestrator是基于Raft的分布式集群。 现在原有三节点集群基础上,新扩容两个节点。 所有节点更新配置文件,并重启后,新的节点无法加入集群。 新节点报错信息; 2020/09/04 15:22:53 [WARN] raft: Heartbeat timeout from "" reached, starting election 2020/09/04 15:22:53 [INFO] ra

  • Raft 论文笔记2020-08-14 21:34:00

    Raft 一致性算法。 整体结构 Raft 的作用是让多台主机保持一致。fault-tolerant virtual machine 论文中提到过两种方法,一种是复制所有的状态到别的主机上,包括 CPU,内存,IO 设备。另一种方法是对主机进行状态机建模,通过复制主机的日志,执行相同的日志内容来保持不同主机的状态一致。R

  • CRAQ 论文笔记2020-08-14 21:31:56

    CRAQ 这篇论文主要介绍 chain replication,改进了读性能。CRAQ 是 Chain Replication with Apportion Queries 的缩写,将读操作分摊到所有的节点上,所有的节点都可以进行读操作。chain 越长,读性能就越好,但是写性能就越差。 操作流程 Chain Replication 所有的写操作必须从头开始,逐步

  • [转] Raft 实现日志复制同步2020-07-21 20:32:57

    原文 https://www.cnblogs.com/richaaaard/p/6351705.html Raft 实现日志复制同步 本篇文章以 John Ousterhout(斯坦福大学教授) 和 Diego Ongaro(斯坦福大学获得博士学位,Raft算法发明人) 在 Youtube 上的讲解视频及 ppt 为蓝本,深入分析 Raft 的内部机制,并以日志复制同步(Replicated

  • Raft和Paxos简易漫画理解2020-06-06 18:36:56

    一、 Paxo共识如何做事情? Paxos里面有三种角色,Proposer, Acceptor, Learner,其中learner完全被动复制已经形成共识的内容,这里不做介绍。 首先Proposer会向每一个acceptor发送一个数字n,这里n可以理解成工钱。 Acceptor接受到n后,知道有事情做了,于是回复Proposer同意请求,这里面

  • RAFT实现之State Persist2020-05-18 10:06:14

    测试通过Raft 需要持久化存储的信息为 current Term votedFor Log[] 只要这三个值有变化,就存储到磁盘 主要是以下四种情形 1. 成为candidate/follower时(currentTerm和votedFor变化) 2. follower投完票时(votedFor变化) 3. appendEntries RPC 更改log时(log更改) 4. Start()追加leader

  • 一致性算法(paxos、raft)2020-05-03 12:37:33

    背景:分布式   一致性模型 1.弱一致性:(最终一致性)     1.1 DNS     1.1 Gossip 2.强一致性:     2.1 同步     2.1 paxos     2.1 raft(multi-paxos)     2.1 ZAB(multi-paxos)----与raft相似,心跳发起者相反(raft由master发起心跳,zab由slave发起) 注:强一致性的算法主要是保

  • 【go共识算法】-Raft2020-03-27 18:03:04

    介绍 Raft 状态 一个 Raft 集群包含若干个服务器节点;通常是 5 个,这允许整个系统容忍 2 个节点的失效,每个节点处于以下三种状态之一: follower :所有结点都以 follower 的状态开始。如果没收到leader消息则会变成 candidate状态。 candidate:会向其他结点“拉选票”,如果得到大部分的

  • 理解Raft协议2020-03-26 22:01:19

    目录 1.Paxos算法存在的问题 2.Raft算法     2.1 复制状态机     2.2. Raft算法     2.2.1 安全性问题     2.2.2 Leader选举     2.2.3日志复制         日志一致性检查         日志提交 参考资料 1.Paxos算法存在的问题 Paxos算法是莱斯利·兰伯特(英

  • 分布式系统一致性问题与Raft算法(下)2020-03-04 20:39:43

    上一篇讲述了什么是分布式一致性问题,以及它难在哪里,liveness和satefy问题,和FLP impossibility定理。有兴趣的童鞋可以看看分布式系统一致性问题与Raft算法(上)。 这一节主要介绍raft算法是如何解决分布式系统中一致性问题的。说起raft大家可能比较陌生,但zookeeper应该都比较熟

  • 分布式数据库的数据一致性怎么保证(其中有raft算法)2020-02-22 14:02:30

    分布式数据库的数据一致性管理是其最重要的内核技术之一,也是保证分布式数据库满足数据库最基本的ACID特性中的 “一致性”(Consistency)的保障。在分布式技术发展下,数据一致性的解决方法和技术也在不断的演进,本文就以作者实际研发的分布式数据库作为案例,介绍分布式数据库数据一

  • 分布式系统的Raft算法学习笔记2020-01-21 19:35:51

    摘取自:  http://mp.weixin.qq.com/s?__biz=MzIyMTQ1NDE0MQ==&mid=2247483979&idx=1&sn=12864382e233fe9b900ab14349404032&chksm=e83dc819df4a410f5959b6922025d317d6c497b7110c4c5d8720fb2b0a70246ce651f9a19e91&mpshare=1&scene=1&srcid=0125HVXp

  • raft算法理论与实践[1]2020-01-15 21:55:13

    前言我计划写raft的一系列文章,包含从理论到代码实践,此文章依托于MIT的研究生课程。背景raft 是一种分布式的共识算法,其目的是要实现多个节点集群的容错性,一致性从而能够构建大规模的软件系统。在raft之前,比较有名的是Paxos。但是paxos难于理解。raft的诞生是为了让共识算法更容易

  • Raft ABC之二2020-01-11 18:55:25

    基于Raft 的分布式一致性协议是构建很多分布式服务的基础,某种程度上它充当了心脏的角色,为此有必要对Raft 的一些难点进行深入理解。 正确理解commited 一个常见的误解就是复制到多数副本的就可以视作commited, 其实还不够。缺少必须已经执行了对应的操作这个步骤。个人理解在实际

  • 编写你的第一个 Java 版 Raft 分布式 KV 存储2020-01-09 13:01:31

    前言 本文旨在讲述如何使用 Java 语言实现基于 Raft 算法的,分布式的,KV 结构的存储项目。该项目的背景是为了深入理解 Raft 算法,从而深刻理解分布式环境下数据强一致性该如何实现;该项目的目标是:在复杂的分布式环境中,多个存储节点能够保证数据强一致性。 项目地址:https://github.com

  • Paxos and Raft ABC2020-01-02 10:00:12

    Paxos Paxos是所有分布式环境中关于某个值达成一致的协议,Paxos 一个节点同时包括提议者和接受者。顾名思义:提议者是发起投票;接受者接受投票请求,根据投票请求和自身状态进行响应的回复。为了防止异常丢状态,Paxos在内部持久化三个参数:当前已接受的提案号;当前达成共识的value的值;当前

  • Hyperledger Fabric动态配置Raft节点2019-12-31 13:02:05

    Hyperledger Fabric动态配置Raft节点 最近看官方文档发现新的共识算法etcdRaft允许动态添加或删除排序节点,所以也花了一天时间操作了以下,写篇文章把整个过程记录一下。 初始网络本文设置了4个Orderer节点,1个Peer节点(用于更新配置文件以及测试用),然后动态添加第五个Orderer节点。

  • 各大中间件底层技术-分布式一致性协议 Raft 详解2019-12-17 13:03:11

    前言 正式介绍 Raft 协议之前,我们先来举个职场产研团队的一个例子

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有