Category: 分布式架构
All the articles in the category "分布式架构".
-
Raft 共识算法学习笔记 三:成员变更
文章 《Raft 共识算法学习笔记 一:领导人选举》 和 《Raft 共识算法学习笔记 二:日志复制》 分别讲述了 Raft 算法如何进行领导人选举和如何进行日志复制。 这篇文章继续讲述 Raft 算法如何处理集群成员节点变更的问题。 考虑一种场景,原来 Raft 集群中存在三个节点,现在需要...
-
Raft 共识算法学习笔记 二:日志复制
文章 Raft 共识算法学习笔记 一:领导人选举 描述了 Raft 算法如何进行领导者选举,本文描述 Raft 共识算法如何进行日志复制。 复制状态机 在 Raft 集群中,每个服务器可以看成是一个复制状态机(Replicated State Machine),如下图。 复制状态机通常基于复制...
-
Raft 共识算法学习笔记 一:领导者选举
Raft 算法是现在分布式系统开发首选的共识算法。文章 《图解 Paxos 算法》 介绍了 Paxos 共识算法,绝大多数选用 Paxos 算法的系统(比如 Cubby),都是在 Raft 算法发布前开发的,当时没得选。新系统绝大多数选择了 Raft 算法,例如,Etcd,Consul,等。就...
-
图解 Paxos 算法
Paxos 算法由 Leslie Lamport 在 1989 年提出的一个分布式共识算法,Paxos 算法较难理解,本文尝试以图形化方案解释 Paxos 算法。 本文在很大篇幅参考了韩健极客时间的课程《分布式协议与算法》,有兴趣了解韩老师其他课程的同学可以购买来学习下。 Lamport 提出...
-
CAP 理论 —— 最通俗的解释
CAP 理论是分布式系统的一个基础理论,它描述了任何一个分布式系统最多只能满足以下三个特性中的两个: 一致性(Consistency) 可用性(Availability) 分区容忍性(Partition tolerance) CAP 理论听起来十分抽象,本文尝试以生活中的例子并用通俗易懂的语言...
-
Google Protocol Buffers 体验日志
最近在看RPC的相关的实现,其中google的 gRPC 默认使用 Protocol Buffers 来作为其接口描述语言(IDL,Interface Definition Language)以及使用 Protocol Buffers 实现消息的序列化与反序列化。因此,很有必要对 protoc...
-
RPC 基本原理与 Apach Thrift 初体验
概述 RPC(Remote Procedure Call,远程过程调用)是一个计算机通信协议,此协议允许进程间通信。简单来说,当机器 A 上的进程调用机器 B 上的进程时,A 上的调用进程被挂起,而 B 上的被调用进程开始执行。调用方可以通过参数将信息传送给被调用方,然后可以通过被调用方传回的...
-
体验 gRPC 那些事儿
概述 我们来看 google 对于 gRPC 的定义: > A high performance, open-source universal RPC framework 即 gRPC 是一个开源的高性能通过 RPC 框架。具体来说,它具有以下特点: 使用 protocol buffers 来...
-
负载均衡(Load Balancing)学习笔记三——负载均衡算法
本文讲述实现负载均衡的常用算法。 轮询法(Round Robin) 轮询法是负载均衡中最常用的算法,它容易理解也容易实现。 轮询法是指负载均衡服务器(load balancer)将客户端请求按顺序轮流分配到后端服务器上,以达到负载均衡的目的。 假设现在有6个客户端请求,2台后端服务器。当第一个...
-
负载均衡(Load Balancing)学习笔记(二)
概述 文章负载均衡(Load Balancing)学习笔记(一) 讲述了负载均衡的一般性原理,本文继续介绍常见的实现负载均衡的方法。 HTTP重定向 HTTP重定向服务器是一台普通的Web服务器,用户的请求先到达重定向服务器,这台服务器会挑选一台后端服务器的地址(例如使用轮询的方式),并将该...