教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

TiDB核心特性:水平擴(kuò)展和高可用

更新時(shí)間:2023年05月17日10時(shí)23分 來(lái)源:傳智教育 瀏覽次數(shù):

水平擴(kuò)展

無(wú)限水平擴(kuò)展是 TiDB 的一大特點(diǎn),這里說(shuō)的水平擴(kuò)展包括兩方面:計(jì)算能力(TiDB)和存儲(chǔ)能力(TiKV)。

TiDB Server 負(fù)責(zé)處理 SQL 請(qǐng)求,隨著業(yè)務(wù)的增長(zhǎng),可以簡(jiǎn)單的添加 TiDB Server 節(jié)點(diǎn),提高整體的處理能力,提供更高的吞吐。

TiKV 負(fù)責(zé)存儲(chǔ)數(shù)據(jù),隨著數(shù)據(jù)量的增長(zhǎng),可以部署更多的 TiKV Server 節(jié)點(diǎn)解決數(shù)據(jù) Scale 的問(wèn)題。PD 會(huì)在 TiKV 節(jié)點(diǎn)之間以 Region 為單位做調(diào)度,將部分?jǐn)?shù)據(jù)遷移到新加的節(jié)點(diǎn)上。

所以在業(yè)務(wù)的早期,可以只部署少量的服務(wù)實(shí)例(推薦至少部署 3 個(gè) TiKV, 3 個(gè) PD,2 個(gè) TiDB),隨著業(yè)務(wù)量的增長(zhǎng),按照需求添加 TiKV 或者 TiDB 實(shí)例。

高可用

高可用是 TiDB 的另一大特點(diǎn),TiDB/TiKV/PD 這三個(gè)組件都能容忍部分實(shí)例失效,不影響整個(gè)集群的可用性。下面分別說(shuō)明這三個(gè)組件的可用性、單個(gè)實(shí)例失效后的后果以及如何恢復(fù)。

1. TiDB

TiDB 是無(wú)狀態(tài)的,推薦至少部署兩個(gè)實(shí)例,前端通過(guò)負(fù)載均衡組件對(duì)外提供服務(wù)。當(dāng)單個(gè)實(shí)例失效時(shí),會(huì)影響正在這個(gè)實(shí)例上進(jìn)行的 Session,從應(yīng)用的角度看,會(huì)出現(xiàn)單次請(qǐng)求失敗的情況,重新連接后即可繼續(xù)獲得服務(wù)。單個(gè)實(shí)例失效后,可以重啟這個(gè)實(shí)例或者部署一個(gè)新的實(shí)例。

高可用

2. PD

PD 是一個(gè)集群,通過(guò) Raft 協(xié)議保持?jǐn)?shù)據(jù)的一致性,單個(gè)實(shí)例失效時(shí),如果這個(gè)實(shí)例不是 Raft 的 leader,那么服務(wù)完全不受影響;如果這個(gè)實(shí)例是 Raft 的 leader,會(huì)重新選出新的 Raft leader,自動(dòng)恢復(fù)服務(wù)。PD 在選舉的過(guò)程中無(wú)法對(duì)外提供服務(wù),這個(gè)時(shí)間大約是3秒鐘。推薦至少部署三個(gè) PD 實(shí)例,單個(gè)實(shí)例失效后,重啟這個(gè)實(shí)例或者添加新的實(shí)例。

3. TiKV

TiKV 是一個(gè)集群,通過(guò) Raft 協(xié)議保持?jǐn)?shù)據(jù)的一致性(副本數(shù)量可配置,默認(rèn)保存三副本),并通過(guò) PD 做負(fù)載均衡調(diào)度。單個(gè)節(jié)點(diǎn)失效時(shí),會(huì)影響這個(gè)節(jié)點(diǎn)上存儲(chǔ)的所有 Region。對(duì)于 Region 中的 Leader 節(jié)點(diǎn),會(huì)中斷服務(wù),等待重新選舉;對(duì)于 Region 中的 Follower 節(jié)點(diǎn),不會(huì)影響服務(wù)。當(dāng)某個(gè) TiKV 節(jié)點(diǎn)失效,并且在一段時(shí)間內(nèi)(默認(rèn) 30 分鐘)無(wú)法恢復(fù),PD 會(huì)將其上的數(shù)據(jù)遷移到其他的 TiKV 節(jié)點(diǎn)上。

0 分享到:
和我們?cè)诰€交談!