<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Etcd on Q先生的世界</title>
		<link>https://qianzhou.tech/tags/etcd/</link>
		<description>Recent content in Etcd on Q先生的世界</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Sun, 07 Jan 2024 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://qianzhou.tech/tags/etcd/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>经典算法深度解析｜Raft：从复制状态机到领导者选举、日志复制与线性一致性</title>
				<link>https://qianzhou.tech/2024/01/07/raft/</link>
				<pubDate>Sun, 07 Jan 2024 00:00:00 +0000</pubDate>
				<guid>https://qianzhou.tech/2024/01/07/raft/</guid>
				<description>&lt;h1 id=&#34;经典算法深度解析raft从复制状态机到领导者选举日志复制与线性一致性&#34;&gt;经典算法深度解析｜Raft：从复制状态机到领导者选举、日志复制与线性一致性&lt;/h1&gt;&#xA;&lt;p&gt;如果你学过分布式系统，大概率已经反复看到过这样一句话：&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;共识很难，而 Raft 的目标是把它讲清楚。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;这句话并不只是宣传语。&lt;/p&gt;&#xA;&lt;p&gt;在很长一段时间里，很多工程师第一次接触共识算法时，面对的往往是 Paxos。一方面，Paxos 在理论上极其重要；另一方面，它对很多初学者来说，确实不太“顺手”。不是因为它不严谨，而是因为它的叙述方式更偏证明导向，系统工程视角不够直接。于是很多人学完以后，依然很难回答下面这些问题：&lt;/p&gt;</description>
			</item>
			<item>
				<title>BoltDB 源码分析（三）：提交、freelist 与崩溃恢复</title>
				<link>https://qianzhou.tech/2023/12/31/boltdb-source-part-3/</link>
				<pubDate>Sun, 31 Dec 2023 00:00:00 +0000</pubDate>
				<guid>https://qianzhou.tech/2023/12/31/boltdb-source-part-3/</guid>
				<description>&lt;h1 id=&#34;boltdb-源码分析三提交freelist-与崩溃恢复&#34;&gt;BoltDB 源码分析（三）：提交、freelist 与崩溃恢复&lt;/h1&gt;&#xA;&lt;p&gt;前两篇我们已经把静态结构拆开了：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;code&gt;DB&lt;/code&gt;、&lt;code&gt;Tx&lt;/code&gt;、&lt;code&gt;meta&lt;/code&gt;、&lt;code&gt;mmap&lt;/code&gt; 如何搭起运行时框架&lt;/li&gt;&#xA;&lt;li&gt;page、node、Bucket、Cursor 如何表达一棵可读可写的 B+Tree&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;最后这一篇进入 BoltDB 最有“数据库味”的部分：&lt;/p&gt;</description>
			</item>
			<item>
				<title>BoltDB 源码分析（二）：B&#43;Tree、Bucket 与 Cursor</title>
				<link>https://qianzhou.tech/2023/12/24/boltdb-source-part-2/</link>
				<pubDate>Sun, 24 Dec 2023 00:00:00 +0000</pubDate>
				<guid>https://qianzhou.tech/2023/12/24/boltdb-source-part-2/</guid>
				<description>&lt;h1 id=&#34;boltdb-源码分析二btreebucket-与-cursor&#34;&gt;BoltDB 源码分析（二）：B+Tree、Bucket 与 Cursor&lt;/h1&gt;&#xA;&lt;p&gt;上一篇我们把外层地基搭起来了：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;code&gt;DB&lt;/code&gt; 如何管理文件、mmap 和事务&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;meta&lt;/code&gt; 如何定义整个数据库的当前版本&lt;/li&gt;&#xA;&lt;li&gt;只读事务为什么只是拿一个 root 视图&lt;/li&gt;&#xA;&lt;li&gt;写事务为什么必须单线程串行&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;这一篇我们进入真正存数据的地方：B+Tree 本体。&lt;/p&gt;</description>
			</item>
			<item>
				<title>BoltDB 源码分析（一）：事务、mmap 与文件格式</title>
				<link>https://qianzhou.tech/2023/11/26/boltdb-source-part-1/</link>
				<pubDate>Sun, 26 Nov 2023 00:00:00 +0000</pubDate>
				<guid>https://qianzhou.tech/2023/11/26/boltdb-source-part-1/</guid>
				<description>&lt;h1 id=&#34;boltdb-源码分析一事务mmap-与文件格式&#34;&gt;BoltDB 源码分析（一）：事务、mmap 与文件格式&lt;/h1&gt;&#xA;&lt;p&gt;很多人第一次接触 BoltDB，通常是因为 etcd 或者某个 Go 项目里出现了它的名字。再进一步，大家很快会记住几个标签：&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
