posted @ 2020-10-25 22:07
10 2020 档案
摘要:1.日志安全性问题 日志安全性是指, 新选出的leader必须包含所有已提交的日志项,已经提交的日志不能因为leader变化被覆盖。 在raft日志复制过程中,follower为了保持与leader一致性,follower的日志可能会被覆盖。 raft是如何保证日志安全性的? raft有以下几点规则
阅读全文
摘要:问题 直接使用 go get -u go.etcd.io/etcd/clientv3 安装 go etcd clientv3,直接使用go get是下载最新的代码,没有经过严格测试。 可能会遇到如下问题: go get -u go.etcd.io/etcd/clientv3 # go.etcd.io
阅读全文
posted @ 2020-10-18 13:13
摘要:etcd是分布式强一致KV存储系统。 关于etcd的介绍和使用,可以查阅上篇文章etcd入门。 本文主要介绍在golang中是如何使用etcd的。 安装package etcd 官方提供了golang语言的client package go.etcd.io/etcd/clientv3。这里介绍的v3
阅读全文
posted @ 2020-10-18 13:06
摘要:(目录) 上篇文章etcd 入门 中已经介绍了etcd基本功能,单节点服务的安装和使用。 本文将介绍etcd 分布式多节点的安装、配置和使用。 由于资源限制,本文以单机多节点服务为例进行阐述。 在实际应用场景中,为了高可用和容灾,是需要多机器安装的。 1.多节点服务集群搭建 操作系统使用的 cent
阅读全文
posted @ 2020-10-11 16:03
摘要:etcd 是一个开源的、分布式的键值对数据存储系统。 etcd应用场景包括服务发现、配置中心(共享配置),以及分布式锁等。 etcd 基于 go 语言实现,内部采用raft协议作为一致性算法。 类似项目有zookeeper 和 consul。 etcd数据模型是一个持久的、多版本并发控制模型。 对于
阅读全文
posted @ 2020-10-10 22:52
摘要:(目录) 1.主从复制原理 在MySQL主从复制中,大体上有三个线程,master端有一个dump 线程,slave端有两个线程,i/o 线程和sql线程。 当有数据写入后,master 端的dump线程将bin log发送到slave端的io线程,i/o线程接收后,将其存放在本地的relay lo
阅读全文
posted @ 2020-10-07 23:15