07 2023 档案
摘要:本篇内容主要来源于自己学习的视频,如有侵权,请联系删除,谢谢。 1、什么是 MVCC MVCC(Multiversion concurrency control)是一个基于多版本技术实现的一种并发控制机制。 常见的并发机制有哪些?MVCC 的优点在哪里呢? 比如数据库中的悲观锁,也就是通过锁机制确保
阅读全文
摘要:本篇内容主要来源于自己学习的视频,如有侵权,请联系删除,谢谢。 思考: etcd是如何基于Raft来实现高可用、数据强—致性的? 1、什么是Raft算法 Raft 算法是现在分布式系统开发首选的共识算法。从本质上说,Raft 算法是通过一切以领导者为准的方式,实现一系列值的共识和各节点日志的一致。领
阅读全文
摘要:相信熟悉 Golang 的小伙伴不少都知道 `条件编译` 这个事,最近项目中也可能会用到这个东西。所以特意重新学习下,记录下学习的过程。这样用的时候记不住了,还可以直接过来看自己的笔记。 > 文章很多内容来源于参考资料,感谢。 ### 1、条件编译简介 #### 1.1、为什么需要条件编译 在实际的
阅读全文
摘要:> 本篇内容主要来源于自己学习的视频,如有侵权,请联系删除,谢谢。 上一节我们学习了 etcd 读请求执行流程,这一节,我们来学习 etcd 写请求执行流程。 ### 1、etcd写请求概览 **etcd 一个写请求执行流程又是怎样的呢?** ``` sh etcdctl put hello wor
阅读全文
摘要:> 本篇内容主要来源于自己学习的视频,如有侵权,请联系删除,谢谢。 ### 1、etcd读请求概览 etcd是典型的`读多写少`存储,在我们实际业务场景中,读一般占据2/3以上的请求。一个读 请求从client通过`Round-robin(轮询)`负载均衡算法,选择一个etcd server节点,发
阅读全文
摘要:1、背景介绍 前两天,现场的同事使用开发的程序测试时,发现日志中报etcdserver: mvcc: database space exceeded,导致 etcd 无法连接。很奇怪,我们开发的程序只用到了 etcd 做程序的主备,并没有往 etcd 中写入大量的数据,为什么会造成 etcd 空间不
阅读全文