Redis之主從複製/讀寫分離

Redis之主從複製 讀寫分離:

 

行話:也就是我們所說的主從複製,主機數據更新後根據配置和策略,

自動同步到備機的master/slaver機制,Master以寫爲主,Slave以讀爲主

 

一般來說,要將Redis運用於工程項目中,只使用一臺Redis是萬萬不能的,原因如下:

  1. 從結構上,單個Redis服務器會發生單點故障,並且一臺服務器需要處理所有的請求負載,壓力較大;
  2. 從容量上,單個Redis服務器內存容量有限,就算一臺Redis服務器內容容量爲256G,也不能將所有內容用作Redis存儲內存,一般來說,單臺Redis最大使用內存不應該超過20G

主機可讀寫    從機只可讀

 

如何使用:

1、配從(庫)不配主(庫)

2、從庫配置:Slaveof 主庫IP 主庫端口

 

 


 

手動模式:

主機掛掉,從機原地待命 從機數據仍然存在

從機掛掉,再開啓將會變Master,需要重新Slaveof  ip 端口變爲從機

缺點:主機掛掉 需要手動把從機變爲主機 然後把其他從機重新SLAVEOF到新主機

 

 

 

 

主從複製原理:

 

 

哨兵模式(sentinel)

反客爲主的自動版,能夠後臺監控主機是否故障,如果故障了根據投票數自動將從庫轉換爲主庫

 

配置哨兵監控master:

Touch sentinel.conf新建文件 寫入如下內容:

 sentinel monitor 被監控數據庫名字(自己起名字) 127.0.0.1 6379 1

啓動哨兵:

redis-sentinel  sentinel.conf

 

情況1:Master掛掉

哨兵會根據投票來決定剩下的從機誰做新的Master,可能會有延遲

 

情況2:原有Master復活

哨兵會把原Master加入到新的Master下作爲從機

 

一組sentinel能同時監控多個Master

 

 

主從複製缺點:

        由於所有的寫操作都是先在Master上操作,然後同步更新到Slave上,所以從Master同步到Slave機器有一定的延遲,當系統很繁忙的時候,延遲問題會更加嚴重,Slave機器數量的增加也會使這個問題更加嚴重。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章