手把手搭建redis高可用高併發集群

2021-10-07 08:21:08 字數 2933 閱讀 1810

高可用:24小時對外提供服務

高併發 同一時間段能處理的請求數

中心化意思是所有的節點都依賴於同乙個主節點,redis 的主從複製就是這種

缺點:

特點:

去中心化

特點雜湊槽說明

redis 集群中內建了 16384 個雜湊槽,當需要在 redis 集群中放置乙個 key-value時,redis 先對 key 使用 crc16 演算法算出乙個結果,然後把結果對 16384 求餘數,這樣每個 key 都會對應乙個編號在 0-16383 之間的雜湊槽,redis 會根據節點數量大致均等的將雜湊槽對映到不同的節點。

當你往redis cluster中加入乙個key時,會根據crc16(key) mod 16384計算這個key應該分布到哪個hash slot中,乙個hash slot中會有很多key和value。你可以理解成表的分割槽,使用單節點時的redis時只有乙個表,所有的key都放在這個表裡;改用redis cluster以後會自動為你生成16384個分割槽表,你insert資料時會根據上面的簡單演算法來決定你的key應該存在哪個分割槽,每個分割槽裡有很多key。

執行流程分析

假如redis集群裡面能存放90個key,那麼redis集群把90key平分到3個主機

redis對每個主機裡面30個儲存位置都編號,當應用連線到主機1上面時,應該傳送乙個寫的命令

主機使用crc16算出槽號

如果槽號在1-30 可以直接操作主機1

如果槽號在31-60那麼redis會**到主機2

如果應該再發乙個命令set age 22

那麼主機2使用crc16再算槽號再**

官方文件:

機器編號

ipport1ip

70002ip

70013ip

70024ip

70035ip

70046ip

7005

# 建立資料夾

mkdir -p /root/redis-cluster/redis-1

# 複製乙個redis.conf到redis-1裡面

cp/root/myredis/redis.conf /root/redis-cluster/redis-1

# 更改配置檔案

vim /root/redis-cluster/redis-1/redis.conf

# 複製乙個redis-server到redis-cluster中

cp/usr/local/redis/bin/redis-server /root/redis-cluster

具體更改的地方如下

aop可開可不開,按實際需求

複製5個,更改其他 配置檔案,依次為:7001、7002、7003、7004、7005

啟動六個redis

建立集群的指令碼是使用ruby寫的,還要安裝ruby的執行環境,不推薦 ,推薦使用 docker 搭建

# 檢視建立集群的指令碼

使用docker 搭建集群

# 安裝docker

yum install docker

# 啟動docker

systemctl start docker

#拉取映象

docker pull inem0o/redis-trib

執行指令碼

# --net host:配置docker的網路模式, 使容器和宿主機共用同乙個ip

# 前面三個為主機,後面是三個為從機

docker run -it --net host inem0o/redis-trib create --replicas 1 ip:7000 ip:7001 ip:7002 ip:7003 ip:7004 ip:7005

配置成功之後

連線測試

# -c表示連線集群,-h:指定ip,-p:指定埠

./redis-

cli-c -h 127.0.0.1 -p 7000

當你進行 set 操作時,redis 集群會根據 crc16 演算法算出乙個雜湊槽(這裡就是5798),然後把這個 key 存到 這個雜湊槽 中,而此時這個雜湊槽在 7001 這個主機上,所以這裡自動跳轉到了這個主機

到此搭建完成

手把手教你搭建高併發爬蟲

在前面 5 分鐘入門 python 協程 和 python 協程模組 asyncio 使用指南 的兩場 chat 中教大家理解了非同步程式設計的思維方式,我們學習了 python3 中最具有野心的乙個模組 asyncio,並帶著大家學習了 asyncio 這個模組 的一些常用方法,正是有了前面內容的...

Redis 手把手教你搭建Redis集群

redis cluster 即 redis 集群,是 redis 官方在 3.0 版本推出的一套分布式儲存方案。完全去中心化,由多個節點組成,所有節點彼此互聯。redis 客戶端可以直接連線任何一節點獲取集群中的鍵值對,不需要中間 如果該節點不存在使用者所指定的鍵值,其內部會自動把客戶端重定向到鍵值...

手把手搭建vps FQ

廢話不多說了,直接上手幹起來 一 vps選擇及購買 樓主選擇的是搬瓦工,網上口碑還是很不錯的,而且 也較便宜。購買 已被牆。可訪問國內備用 購買方案 如果只是個人用推薦購買 19.99 year,有時可能會斷貨。且現在支援支付寶購買。配置如下 關於架構和線路選擇樓主不是很熟悉,等日後會了更新 購買流...