iT邦幫忙

2021 iThome 鐵人賽

DAY 7
0

身為TIDB的PM,PD主要接收兩類訊息,一種是TiKV store回傳的心跳信息,store就是TiKV中儲存的儲存節點,與TiKV是1:1的關係。另一種則是raft group leader回傳的心跳信息。
store回傳的信息內容包括:

  1. 我(store)還活著!
  2. 有沒有新鮮的肝(store)加入
  3. 我最多能存多少,還剩多少空間能放
  4. 身上還背著多少region
  5. 我的讀寫速度
  6. 發送與接收了多少snapshot
  7. 我還坦得住?嗎?
  8. label訊息(可以理解成KV的住址)

leader回傳的信息則包括:

  1. leader位置
  2. follower位置
  3. 讀寫速度
  4. 失聯的replicate數量

PD也有另外的接手可以接收手動異動的通知,如維運時下架其中一台store,便可以透過指令pd-ctl通知異動。

PD接收了這些信息之後,就開始提出健檢報告。

  1. 有沒有符合max-replicas的設定。多了就該砍掉,少了就該補上。
  2. 副本有沒有再重複的位置。在多台KV(store)的情況下,正常來說會把副本分散在不同的KV底下。
  3. 每個store儲存的副本數量是否取得平衡,已儲存的大小是不是有斜槓。
  4. leader是否平均分配在每個store上。前面提到leader負責讀寫,如果leader都集中在同一個store上,會發生一個人做得要死要活其他人過得爽爽的情況。
  5. 對於搶手的key,leader也會避免放在同一個store上。
  6. 控制調度的速度,以免影響線上。

以上純屬建議,實際主導權還是在leader手上。就像健檢報告寫著你體脂肪過高,但是要不要放下手中的啤酒鹽酥雞還是要靠你自己...


上一篇
Day 6 - TiKV架構
下一篇
Day 8 - 資料儲存
系列文
TiDB學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言