<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>PingCAP | Academic</title><link>https://loloxwg.top/tag/pingcap/</link><atom:link href="https://loloxwg.top/tag/pingcap/index.xml" rel="self" type="application/rss+xml"/><description>PingCAP</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><lastBuildDate>Sat, 18 Jun 2022 19:34:40 +0000</lastBuildDate><image><url>https://loloxwg.top/media/icon_hu0b7a4cb9992c9ac0e91bd28ffd38dd00_9727_512x512_fill_lanczos_center_3.png</url><title>PingCAP</title><link>https://loloxwg.top/tag/pingcap/</link></image><item><title>A fault-tolerant KV server on top of Raft</title><link>https://loloxwg.top/posts/a_fault-tolerant_kv_server_on_top_of_raft/</link><pubDate>Sat, 18 Jun 2022 19:34:40 +0000</pubDate><guid>https://loloxwg.top/posts/a_fault-tolerant_kv_server_on_top_of_raft/</guid><description>&lt;p>分享一下前两天在 &lt;a href="https://asktug.com/t/topic/665859" target="_blank" rel="noopener">Talent Plan Community&lt;/a> 华东师范大学孙佳丽做的有关 TinyKV 的介绍&lt;/p>
&lt;p>这次分享主要从TinyKV的整体架构,组件介绍,调用流程,raft优化四个方面展开，并给出了一些有用的参考&lt;/p>
&lt;p>注：以下仅为图片，&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_01.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_02.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_03.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_04.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_05.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_06.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_07.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_08.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_09.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_10.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_11.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_12.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_13.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_14.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_15.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_16.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_17.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_18.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_19.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_20.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_21.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_22.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_23.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="A%20fault-tolerant%20KV%20server%20on%20top%20of%20Raft_24.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h2 id="参考资料">参考资料&lt;/h2>
&lt;ol>
&lt;li>&lt;a href="https://z.itpub.net/article/detail/29B4D408D967AE015AF40C2C47F7E5AE" target="_blank" rel="noopener">Etcd 之 Lease read&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://qtozeng.top/2019/01/15/etcd-raft-ReadIndex-%E7%BA%BF%E6%80%A7%E4%B8%80%E8%87%B4%E6%80%A7%E8%AF%BB%E6%BA%90%E7%A0%81%E7%AE%80%E6%9E%90/" target="_blank" rel="noopener">etcd-raft ReadIndex 线性一致性读源码简析&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://pingcap.com/zh/blog/optimizing-raft-in-tikv" target="_blank" rel="noopener">TiKV 功能介绍 - Raft 的优化 | PingCAP&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://pingcap.com/zh/blog/lease-read" target="_blank" rel="noopener">TiKV 功能介绍 - Lease Read | PingCAP&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://pingcap.com/zh/blog/tikv-source-code-reading-19" target="_blank" rel="noopener">TiKV 源码解析系列文章（十九）read index 和 local read 情景分析 | PingCAP&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://learn.pingcap.com/learner/course/510001/file/570002;offeringId=720002" target="_blank" rel="noopener">如何在 Raft 之上构建Key-Value Server&lt;/a>&lt;/li>
&lt;/ol></description></item></channel></rss>