Redis的使用 (一)集群的搭建

2021-08-15 06:01:35 字數 3270 閱讀 7849

主題詞:負載均衡高可用、redis集群

nginx一般用作負載均衡伺服器,可見處於網路中非常重要的位置,一旦nginx伺服器宕機無法提供服務,那麼將影響嚴重。所以需要負載均衡高可用。

高可用——主從備份

keepalived+nginx實現主從備份

keepalived的作用是檢測伺服器的狀態,如果有一台web伺服器宕機,或工作出現故障,keepalived將檢測到,並將有故障的伺服器從系統中剔除,同時使用其他伺服器代替該伺服器的工作,當伺服器工作正常後keepalived自動將伺服器加入到伺服器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復故障的伺服器。

keepalived工作原理

keepalived是以vrrp協議為實現基礎的,vrrp全稱virtual router redundancy protocol,即虛擬路由冗餘協議。

虛擬路由冗餘協議,可以認為是實現路由器高可用的協議,即將n臺提供相同功能的路由器組成乙個路由器組,這個組裡面有乙個master和多個backup,master上面有乙個對外提供服務的vip(該路由器所在區域網內其他機器的預設路由為該vip),master會發組播,當backup收不到vrrp包時就認為master宕掉了,這時就需要根據vrrp的優先順序來選舉乙個backup當master。這樣的話就可以保證路由器的高可用了。

keepalived主要有三個模組,分別是core、check和vrrp。core模組為keepalived的核心,負責主程序的啟動、維護以及全域性配置檔案的載入和解析。check負責健康檢查,包括常見的各種檢查方式。vrrp模組是來實現vrrp協議的。

搭建過程可參考《keepalived權威指南中文.pdf》

了解集群和主從的區別

redis集群基本概念

redis集群的詳細貼子:

redis集群中至少應該有三個節點。要保證集群的高可用,每個節點需要有乙個備份機。因此redis集群至少需要六臺伺服器

這裡搭建的是偽分布模式,可以使用一台伺服器執行6個redis例項,修改redis的埠號為7001-7006

相關演算法:

redis集群的搭建

yum install ruby

yum install rubygems

# 離線安裝

gem install redis-3.0

.7.gem

gem install redis -v 3.0

.7

1、將埠修改為7001-7006

2、將集群前面#注釋去除 cluster-enabled yes

3、如果是雲伺服器,例如埠是7001,則將7001和17001加入安全組

# -p 埠號

# -c 開啟reidis cluster模式,連線redis cluster節點時候使用

bin/redis-cli -p 7004 -c

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

(一)集群介紹

一 集群的種類 集群系統主要分為 1 ha 高可用集群,又叫雙機熱備。a 2臺機器a,b,正常是a提供服務,b待命閒置,當a宕機或服務宕掉,會切換至b繼續提供服務 b 常用的高可用開源軟體 heartbeat和keepalived 可以做負載均衡 2 lb 負載均衡集群 3 hpc 高效能計算集群 ...

elasticsearch技術總結(一) 集群分片

一 分片概念以及設定 分片概念 乙個 分片 是乙個底層的 工作單元 它僅儲存了全部資料中的一部分。我們往 elasticsearch 新增資料時需要用到索引 儲存相關資料的地方。索引實際上是指向乙個或者多個物理 分片 的 邏輯命名空間。分片分為主分片和副本,數量可以設定。舉個例子 假設elastic...

redis(14) 集群的搭建

集群搭建 至少需要三個master 第一步 建立以乙個資料夾redis cluster,然後分別在下面建立6個資料夾 1 mkdir p usr local redis cluster 2 mkdir 7001 mkdir7002 mkdir 7003 mkdir 7004 mkdir 7005 m...