winform 窗體自適應 根據新窗體大小按比例放縮
Redis 主從複製
目錄1. 概述
- 資料的複製都是單向的, 只能由主節點到從節點, Master 以寫為主, Slave 以讀為主
- 主從複製, 讀寫分離, 主要是解決讀的問題 ==> 80% 的情況下都是在進行讀操作! 減緩伺服器的壓力! 架構中經常使用! 一主二從
- 預設情況下, 每臺Redis伺服器都是主節點
2. 環境配置
只配置從庫, 不用配置主庫
-
info replication ====> 檢視當前庫的資訊
-
複製三個配置檔案, 然後修改對應的資訊
- 埠號
- 檔案的pid
- log檔案
- 持久化的檔名
-
開啟服務, 看到生成了對應的log檔案, 說明該服務已經成功啟動了!
-
檢視我們開啟的redis服務
3. 一主二從搭建
-
我們一般情況下, 只用配置從機就好了!
-
認老大, 一主(79)二從(80,81)
-
從機配置 ====> slaveof host port
-
主機的資訊
-
真實的主從配置應該在配置檔案中配置, 這樣的話就是永久的!, 在配置檔案中的replication下配置replicaof
4. 細節
-
主機可以寫, 從機不能寫, 只能讀
-
主機中的所有資訊和資料, 都會自動被從機儲存
-
主機斷開連線, 從機依舊連線到主機, 但是沒有些操作了. 如果主機回來了, 從機依舊可以直接獲取到主機寫的資訊
-
如果是是用命令列來配置的主從, 這個時候, 如果重啟了, 就會變回主機
-
只要變回從機, 立馬就會從主機中獲取值!
-
*命令 slaveof no one ====> 使自己成為主機, 其他的節點就可以手動連線到這個最新的主節點*
5. 哨兵模式
-
自動選取老大的模式!
-
Redis從2.8開始正式提供了 Sentinel (哨兵) 架構來解決這個問題
-
哨兵是一個獨立的程序, 他會獨立執行, 其原理是 哨兵通過傳送命令, 等待 Redis 伺服器響應, 從而監控執行的多個Redis例項
-
我們可以使用多哨兵模式, 哨兵之間也會進行監控
1. 測試
-
我們目前的狀態是一主二從
-
配置哨兵配置檔案
-
新建 sentinel.conf 檔案
-
在配置檔案中寫如下配置 (這是最核心的配置)
-
#sentinel monitor myredis 被監控的名稱 127.0.0.1 主機的ip地址 6379 主機的埠 1 sentinel monitor myredis 127.0.0.1 6379 1
-
後面的這個數字 1 代表主機掛了之後, slave 投票看讓誰接替成為主機, 票數最多的, 就會成為主機
-
-
啟動哨兵
- redis-sentinel 配置檔案的路徑
-
如果主節點掛了, 哨兵過一會可以發現, 並投票選出新的主節點
-
主節點回來之後, 只能作為從機
2. 優缺點
- 優點
- 哨兵叢集, 基於主從複製模式, 所有的主從配置的優點, 他全有
- 主從可以切換, 故障可以轉移, 系統的可用性就會更好
- 哨兵模式就是主從模式的升級, 手動到自動, 更加健壯
- 缺點
- Redis不好線上擴容, 叢集容量一旦到達上限, 線上擴容就十分麻煩
- 實現哨兵模式的配置其實是很麻煩的, 裡面有很多選擇!