真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Redis集群詳解及搭建過程-創(chuàng)新互聯(lián)

1. 引言

?從3.0版本開始,redis具備了集群功能,實現(xiàn)了分布式、容錯、去中心化等特性,在生產(chǎn)環(huán)境中對于保證數(shù)據(jù)一致性和安全性、提高系統(tǒng)響應(yīng)能力都有著很必要的意義。 本文我們就來介紹 redis 集群的三種搭建模式和搭建方法。
目前Redis 7.0對其管理的幾乎每個子系統(tǒng)都進行了多項改進,包括內(nèi)存、計算、網(wǎng)絡(luò)和存儲

成都創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)整合營銷推廣、網(wǎng)站重做改版、前鋒網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)電子商務(wù)商城網(wǎng)站建設(shè)、集團公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為前鋒等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

詳見:Releases · redis/redis · GitHub

1.1. redis 集群的特性

redis 集群的目標是線性可擴展性和保證最終一致性,因此,redis 集群不存在中心節(jié)點或代理節(jié)點。 同時,一致性的保證是建立在一部分容錯性犧牲的基礎(chǔ)上的,系統(tǒng)通過主從節(jié)點的模式在保證對節(jié)點失效具有有限抵抗力的前提下,盡可能保證數(shù)據(jù)的一致性。 redis 集群實現(xiàn)了節(jié)點的自動發(fā)現(xiàn)、master 的自動選舉、熱分片、ASK 轉(zhuǎn)向和 MOVED 轉(zhuǎn)向等機制。 可以參考官方文檔: https://redis.io/topics/cluster-tutorial。

1.2. 集群端口

無論是哪種模式的 redis 集群,都需要指定服務(wù)端口(默認為 6379),但 redis 實際上是通過服務(wù)端口 + 10000 的端口來進行數(shù)據(jù)同步的。 因此,如果集群無法建立或同步無法進行,除了需要考慮服務(wù)端口是否連通以外,還需要檢測同步端口的可用性

2.?集群

2.1?主從模式集群

1. 概念
主從復(fù)制模型中,有多個redis節(jié)點。 其中,有且僅有一個為主節(jié)點Master。從節(jié)點Slave可以有多個。只要網(wǎng)絡(luò)連接正常,Master會一直將自己的數(shù)據(jù)更新同步給Slaves,保持主從同步 。

優(yōu)點:讀寫分離,將Redis讀操作分攤到多個節(jié)點,大大提高redis服務(wù)器的并發(fā)量
? 缺點:不支持容錯,master宕機后沒有可寫節(jié)點,可能會數(shù)據(jù)丟失,較難支持擴容

2.3.1 準備服務(wù)器(最少倆臺,都安裝redis)
    192.168.10.10 master        
    192.168.10.11 slave
    192.168.10.13 slave
    
2.3.2 修改redis配置文件
    master    redis.conf
        bind 192.168.10.10        #綁定地址
        port 6379
        daemonize yes             #后臺啟動
        protected-mode yes        #打開保護模式
        appendonly yes            #開啟AOF持久化存儲
        requirepass 123           #啟用密碼認證
        pidfile /usr/local/redis-6379/logs/redis-6379.pid
        logfile /usr/local/redis-6379/logs/redis.log
        dir
        masterauto 123
        
    slave1  redis.conf
        bind 192.168.10.11        #綁定地址
        port 6379
        daemonize yes             #后臺啟動
        protected-mode yes        #打開保護模式
        appendonly yes            #開啟AOF持久化存儲
        requirepass 123           #啟用密碼認證
        pidfile /usr/local/redis-6379/logs/redis-6379.pid
        logfile /usr/local/redis-6379/logs/redis.log
        dir
        masterauto 123            #master節(jié)點密碼
        replicaof 192.168.10.10 6379       #定義master信息
        
    slave2  redis.conf
        bind 192.168.10.13        #綁定地址
        port 6379
        daemonize yes             #后臺啟動
        protected-mode yes        #打開保護模式
        appendonly yes            #開啟AOF持久化存儲
        requirepass 123           #啟用密碼認證
        pidfile /usr/local/redis-6379/logs/redis-6379.pid
        logfile /usr/local/redis-6379/logs/redis.log
        dir
        masterauto 123            #master節(jié)點密碼
        replicaof 192.168.50.10 6379       #定義master信息
       

2.2?Sentinel(哨兵集群)

2.1 主從模式的缺陷
? 當主節(jié)點宕機了,整個集群就沒有可寫的節(jié)點了。
由于從節(jié)點上備份了主節(jié)點的所有數(shù)據(jù),那在主節(jié)點宕機的情況下,如果能夠?qū)墓?jié)點變成一個主節(jié)點,就可以解決這個問題了。這就是Sentinel哨兵的作用。?

2.2 哨兵的任務(wù)
?Redis 的 Sentinel 系統(tǒng)用于管理多個 Redis 服務(wù)器(instance), 該系統(tǒng)執(zhí)行以下三個任務(wù):
監(jiān)控(Monitoring): Sentinel 會不斷地檢查你的主服務(wù)器和從服務(wù)器是否運作正常。
提醒(Notification): 當被監(jiān)控的某個 Redis 服務(wù)器出現(xiàn)問題時, Sentinel 可以通過 API 向管理員或者其他應(yīng)用程序發(fā)送通知。
自動故障遷移(Automatic failover): 當一個主服務(wù)器不能正常工作時, Sentinel 會開始一次自動故障遷移操作, 它會將失效主服務(wù)器的其中一個從服務(wù)器升級為新的主服務(wù)器, 并讓失效主服務(wù)器的其他從服務(wù)器改為復(fù)制新的主服務(wù)器; 當客戶端試圖連接失效的主服務(wù)器時, 集群也會向客戶端返回新主服務(wù)器的地址, 使得集群可以使用新主服務(wù)器代替失效服務(wù)器。?

2.2.1 監(jiān)控(Monitoring)
1.Sentinel可以監(jiān)控任意多個Master和該Master下的Slaves。(即多個主從模式)
2.同一個哨兵下的、不同主從模型,彼此之間相互獨立。
3.Sentinel會不斷檢查Master和Slaves是否正常。?

2.3 配置Sentinel
?1.在/usr/local目錄下,創(chuàng)建/redis/sentinels/目錄
mkdir -p sentinels
2.在/sentinels目錄下,以次創(chuàng)建s1、s2、s3三個子目錄中
mkdir s1 s2 s3
3.依次拷貝redis解壓目錄下的sentinel.conf文件,到這三個子目錄中
cp -v /opt/soft/redis-3.2.9/sentinel.conf ./s1cp -v /opt/soft/redis-3.2.9/sentinel.conf ./s2cp -v /opt/soft/redis-3.2.9/sentinel.conf ./s3???4.依次修改s1、s2、s3子目錄中的sentinel.conf文件,修改端口,并指定要監(jiān)控的主節(jié)點。(從節(jié)點不需要指定,sentinel會自動識別)

3.Redis-cluster集群

3.1 哨兵模式的缺陷
? 在哨兵模式中,仍然只有一個Master節(jié)點。當并發(fā)寫請求較大時,哨兵模式并不能緩解寫壓力。只有主節(jié)點才具有寫能力,那如果在一個集群中,能夠配置多個主節(jié)點,就可以緩解寫壓力了,這就是redis-cluster集群模式。

3.2 Redis-cluster集群概念
1.由多個Redis服務(wù)器組成的分布式網(wǎng)絡(luò)服務(wù)集群;
2.集群之中有多個Master主節(jié)點,每一個主節(jié)點都可讀可寫;
3.節(jié)點之間會互相通信,兩兩相連;
4.Redis集群無中心節(jié)點。

3.3?集群配置(Scaling with Redis Cluster | Redis)

1、Redis集群官方建議最好使用6個節(jié)點
本次搭建在一臺主機上創(chuàng)建偽分布式集群,不同的端口表示不同的redis節(jié)點,如下:
主節(jié)點:192.168.58.1:7001 192.168.58.1:7002 192.168.58.1:7003
從節(jié)點:192.168.58.1:7004 192.168.58.1:7005 192.168.58.1:7006

2、在/usr/local/redis下創(chuàng)建redis-cluster目錄,在其下創(chuàng)建7001、7002......7006目錄,如下:
mkdir -p redis/redis-clustermkdir -v 7001 7002 7003 7004 7005 7006?

3、將redis解壓路徑下的配置文件redis.conf,依次拷貝到每個700X目錄內(nèi),并修改每個700X目錄下的redis.conf配置文件:
必選配置:
port 700X
bind ip(當前主機ip:192.168.xxx.xxx)
cluster-enabled yes (啟動redis-cluster集群模式)
建議配置:
daemonized yes
logfile /usr/local/redis/redis-cluster/700X/node.log?

4、啟動每個結(jié)點redis服務(wù)
依次以700X下的redis.conf,啟動redis節(jié)點。(必須指定redis.conf文件)
cd 700x && redis-server ./redis.conf?

5 執(zhí)行創(chuàng)建集群命令
進入到redis源碼存放目錄redis/redis-4.10.3/src下,執(zhí)行redis-trib.rb,此腳本是ruby腳本,它依賴ruby環(huán)境。
./redis-trib.rb create --replicas 1 192.168.58.1:7001 192.168.58.1:7002 192.168.58.1:7003 192.168.58.1:7004 192.168.58.1:7005 192.168.58.1:7006

完成集群搭建

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


本文題目:Redis集群詳解及搭建過程-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://weahome.cn/article/dodjii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部