您好,登錄后才能下訂單哦!
行話:也就是我們所說的主從復制,主機數據更新后根據配置和策略自動同步到備機的 master/slave 機制,Master以寫為主,Slave 以讀為主
從庫配置:slaveof 主庫IP 主庫端口
注:slaveof 進行配置的話,每次斷開后都需要重新連接,除非配置進redis.conf文件中
一旦從庫 跟隨了 主庫,從庫可讀不可寫,首次是全量同步 (這里的首次是執行slaveof命令時 ) 之后是增量,若從庫同步之前存在 與主庫相同的 key的 數據,則主庫的 數據覆蓋從庫
此一主二從 可以水平擴展為一主多從,主機主要負責寫,從機主要負責讀
主機down掉在沒有哨兵機制的情況下,從機只會靜默等待 直至主機恢復運行狀態
上一個Slave可以是下一個slave的Master,Slave同樣可以接收其他slaves的連接和同步請求,那么該slave作為了鏈條中下一個的master,可以有效減輕master的寫壓力。
第一個開頭的事master,其他都是slave,只是中間的slave是下一個的master
Slave啟動成功連接到master后會發送一個sync命令
Master接到命令啟動后臺的存盤進程,同時收集所有接收到的用于修改數據集命令,
在后臺進程執行完畢之后,master將傳送整個數據文件到slave,以完成一次完全同步
但是只要是重新連接master,一次完全同步(全量復制)將被自動執行
能夠后臺監控主機是否故障,如果故障了根據投票數自動將從庫轉換為主庫
以一主二從的策略為例:
1. 自定義的/myredis目錄下新建sentinel.conf文件,名字絕不能錯
2. 配置哨兵,填寫內容
sentinel monitor 被監控數據庫名字(自己起名字) 127.0.0.1 6379 1
上面最后一個數字1,表示主機掛掉后salve投票看讓誰接替成為主機,得票數多少后成為主機
3.啟動哨兵
Redis-sentinel /myredis/sentinel.conf
4.正常主從演示,原有的master掛了
5.投票新選,重新主從繼續開工,info replication查查看
6.原有的down掉主機Master恢復運轉,則輪為從機Slave
缺點:復制延時
由于所有的寫操作都是先在Master上操作,然后同步更新到Slave上,所以從Master同步到Slave機器有一定的延遲,當系統很繁忙的時候,延遲問題會更加嚴重,Slave機器數量的增加也會使這個問題更加嚴重。
本文的重點是你有沒有收獲與成長,其余的都不重要,希望讀者們能謹記這一點。同時我經過多年的收藏目前也算收集到了一套完整的學習資料,包括但不限于:分布式架構、高可擴展、高性能、高并發、Jvm性能調優、Spring,MyBatis,Nginx源碼分析,Redis,ActiveMQ、、Mycat、Netty、Kafka、Mysql、Zookeeper、Tomcat、Docker、Dubbo、Nginx等多個知識點高級進階干貨,希望對想成為架構師的朋友有一定的參考和幫助
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。