成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

非常適合新手的Redis Cluster搭建過程

存儲 存儲軟件 Redis
通過分片集群,Redis解決了寫操作無法負載均衡,以及存儲能力受到單機限制的問題,而且也具有故障遷移(主從切換)的功能,實現了較為完善的高可用方案。

[[403532]]

本文轉載自微信公眾號「精益碼農」,作者小碼甲。轉載本文請聯系精益碼農公眾號。

Redis集群演進過程

Redis單節點

主從復制:

  • 復制主要實現了數據的多機備份,以及對于讀操作的負載均衡和簡單的故障恢復。
  • 故障恢復無法自動化;寫操作無法負載均衡;存儲能力受到單機的限制。

哨兵(Sentinel):

在復制的基礎上,哨兵實現了自動化的故障恢復。

缺陷是寫操作無法負載均衡;存儲能力受到單機的限制。

Cluster集群:

通過分片集群,Redis解決了寫操作無法負載均衡,以及存儲能力受到單機限制的問題,而且也具有故障遷移(主從切換)的功能,實現了較為完善的高可用方案。

科普特性

請對照上面的架構圖

  • redis cluster不支持單機版本的16個默認數據庫,僅有0數據庫, select命令被禁用
  • key空間被劃分為16384個哈希槽,每個master節點負責處理16384個哈希槽的子集;

當集群沒有發生重配,集群是穩定的

  • 每個master都可能有1個或多個slave節點, 這些節點將在網絡分區或者發生故障時嘗試替代master節點, 同時這些slave節點也可用于支撐大規模的讀操作
  • 將key映射到哈希操作的算法是hash_slot = CRC16(16)mod 16384

例外:key hash tags:

{user1000}.following和{user1000}.followers兩個鍵值將被放在一個哈希槽,因為只有子字符串user1000將被用來計算哈希槽。

  • Cluster bus:每個redis節點都有一個用于集群節點間通信的tcp端口(在原客戶端訪問端口之上加上1000),
  • 節點使用gossip協議和配置更新機制,以避免在正常情況下在節點之間交換過多的消息,因此交換的消息數量不是指數級的
  • redis客戶端可以向集群中每個節點發送查詢(包括從節點),節點將會分析查詢key,找到負責對應哈希槽的節點。

當前節點能處理最好,不能處理將返回 MOVED error、哈希槽、能處理的節點,客戶端將自行定向到特定新節點查詢。

  • 一般情況下slave節點會將客戶端請求重定向到負責對應哈希槽的master節點,但是為了支撐大規模讀,可以給slave節點開啟 READONLY

搭建Redis Cluster

本文使用一個單物理機,搭建偽Redis Cluster(3主3從)

1.創建redis-cluster目錄,存放集群

2.下載最新版redis-6.2.4, 將bin目錄下的可執行文件、redis.conf拷貝到同級目錄redis01

3.修改redis01 目錄下redis.conf配置:

  • port 7001
  • cluster-enabled yes // 之前被注釋

4.將redis01拷貝多個,形成redis02, redis02, redis04, redis05,redis06 ,

修改對應redis.conf port為7002 7003 7004 7005 7006

5.啟動6個redis節點,使用start.sh腳本( chmod +x start.sh)

每個啟動命令后面的& 表示后臺啟動

  1. cd redis01 
  2. ./redis-server redis.conf & 
  3. cd .. 
  4. cd redis02 
  5. ./redis-server redis.conf  & 
  6. cd .. 
  7. cd redis03 
  8. ./redis-server redis.conf  & 
  9. cd .. 
  10. cd redis04 
  11. ./redis-server redis.conf & 
  12. cd .. 
  13. cd redis05 
  14. ./redis-server redis.conf & 
  15. cd .. 
  16. cd redis06 
  17. ./redis-server redis.conf & 
  18. cd .. 

6.準備組建redis cluster

redis 5+可以使用redis-cli 特定命令來組建集群;redis3,4使用redis-trib.rb來協助組建集群。

使用redis-cli --cluster命令創建由6個節點組成的redis cluser,其中cluster-replicas 1將為每個master節點創建slave節點 (不帶上這個cluster-replicas,會創建了6個master節點組成的redis cluster).

  1. redis-cli --cluster create 127.0.0.1:7001 \ 
  2. 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005   127.0.0.1:7006 \ 
  3. --cluster-replicas 1 

7.驗證集群狀態

使用redis-cli -p 7001 -c登錄節點

使用cluster nodes查看節點狀態

以上操作搭建了由3master 3Slave形成的高可用redis cluster,

節點角色由自動生成的nodes.conf文件維護

8.客戶端實操

如果覺得以上過程很繁瑣,Redis官方提供了另外的工具,在utils目錄create-cluster腳本。

  • create-cluster start
  • create-cluster create

就會創建3 mater 3 slave組成的redis cluster(首節點端口從30001 開始),這樣前置知識可能沒有按部就班清晰。

總結

以上就是Redis Cluster科普級別的知識, 幫助大家快速全面了解Redis Cluster特性, 快速搭建Redis Cluster。

好記性不如爛筆頭,倒騰一次,記錄一次。

 

責任編輯:武曉燕 來源: 精益碼農
相關推薦

2020-03-17 15:55:12

Redis數據庫命令

2024-03-07 16:03:56

RedisDocker

2021-04-06 06:04:36

Redis 6.X C集群搭建操作系統

2023-04-07 08:28:14

2009-06-22 13:41:58

FaceletsJSF組件

2009-09-17 11:39:16

OSGi服務

2011-01-11 09:03:24

2016-11-15 09:10:58

2020-11-09 14:26:30

GitHub 技術開源

2020-12-29 14:47:01

人工智能機器學習交通

2023-01-03 08:20:15

2018-08-03 10:02:05

Linux命令

2010-05-31 10:43:52

李彥宏

2010-04-13 14:10:58

寬帶無線貓快速配置

2011-03-03 10:20:06

bash系統管理

2018-12-11 14:20:14

Python技巧編程語言

2020-11-26 10:04:04

Java 編程開發

2016-01-18 13:30:17

LinuxLinux發行版新手

2022-06-02 15:31:26

深度學習AI

2020-03-30 17:50:50

存儲閃存技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区在线看 | 欧美在线视频一区二区 | 欧美日韩精品久久久免费观看 | 国产精品视频不卡 | 毛片韩国 | 亚洲精品一区二区三区在线 | 欧美一级艳情片免费观看 | 韩日一区二区三区 | 国产成人99久久亚洲综合精品 | 三级国产三级在线 | 精彩视频一区二区三区 | 国产日韩久久久久69影院 | 在线观看国产网站 | 国产亚洲精品久久情网 | 亚洲九九精品 | 国产成人高清 | 国产乱码精品一区二区三区中文 | 日韩精品久久一区二区三区 | 欧美成人在线影院 | aaa国产大片| 国产精品久久久久久久一区探花 | 一区二区福利视频 | 久久综合一区 | 久久久激情视频 | 中文字幕精品一区二区三区精品 | 毛片高清| 精品欧美激情在线观看 | 亚洲欧美一区二区三区情侣bbw | 日韩精品一区二区三区在线观看 | 久久99成人 | 国产免费一级一级 | 欧美伊人影院 | 国产视频久久久 | 免费观看一级特黄欧美大片 | 亚洲欧美日韩久久 | 国产日韩欧美精品一区二区三区 | 亚洲欧美日韩一区 | 亚洲欧美日韩在线不卡 | 久久国产精品视频观看 | 国产综合精品一区二区三区 | 欧美操操操 |