国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Redis > 正文

Redis cluster集群的介紹

2020-10-28 21:31:13
字體:
供稿:網(wǎng)友

1.前言

Redis集群模式主要有2種:

主從集群、分布式集群。

前者主要是為了高可用或是讀寫分離,后者為了更好的存儲數(shù)據(jù),負載均衡。

redis集群提供了以下兩個好處

1、將數(shù)據(jù)自動切分(split)到多個節(jié)點

2、當集群中的某一個節(jié)點故障時,redis還可以繼續(xù)處理客戶端的請求。

一個 redis 集群包含 16384 個哈希槽(hash slot),數(shù)據(jù)庫中的每個數(shù)據(jù)都屬于這16384個哈希槽中的一個。集群使用公式 CRC16(key) % 16384 來計算鍵 key 屬于哪個槽。集群中的每一個節(jié)點負責處理一部分哈希槽。

集群中的主從復制

集群中的每個節(jié)點都有1個至N個復制品,其中一個為主節(jié)點,其余的為從節(jié)點,如果主節(jié)點下線了,集群就會把這個主節(jié)點的一個從節(jié)點設置為新的主節(jié)點,繼續(xù)工作。這樣集群就不會因為一個主節(jié)點的下線而無法正常工作

注意:

1、如果某一個主節(jié)點和他所有的從節(jié)點都下線的話,redis集群就會停止工作了。redis集群不保證數(shù)據(jù)的強一致性,在特定的情況下,redis集群會丟失已經(jīng)被執(zhí)行過的寫命令

2、使用異步復制(asynchronous replication)是redis 集群可能會丟失寫命令的其中一個原因,有時候由于網(wǎng)絡原因,如果網(wǎng)絡斷開時間太長,redis集群就會啟用新的主節(jié)點,之前發(fā)給主節(jié)點的數(shù)據(jù)就會丟失。

2. 主從切換原理

Redis的主從原理與MySQL相似,都是設置兩臺機器,一主一從。也就是常說的熱備與冷備。設置主從的同時,設置兩個哨兵進程,用來檢測主節(jié)點是否宕機。若發(fā)現(xiàn)主節(jié)點宕機,立馬從從節(jié)點內(nèi)選取出合適的節(jié)點 作為新的主節(jié)點。這點與VIP(虛擬IP技術有點相似)。

3.Redis群集TCP端口

每個Redis群集的節(jié)點都需要打開兩個TCP連接,由于這兩個連接就需要兩個端口,分別是用于為客戶端提供服務的常規(guī)Redis TCP命令端口(例如6379)以及通過將10000和命令端口相加(10000+6379)而獲得的端口,就是集群端口(例如16379)。

第二個大號端口用于群集總線,即使用二進制協(xié)議的節(jié)點到節(jié)點通信通道。 節(jié)點使用群集總線進行故障檢測,配置更新,故障轉(zhuǎn)移授權等。 客戶端不應嘗試與群集總線端口通信,為了保證Redis命令端口的正常使用,請確保在防火墻中打開這兩個端口,否則Redis群集節(jié)點將無法通信。

命令端口和集群總線端口偏移量是固定的,始終為10000。

請注意,為了讓Redis群集正常工作,您需要為每個節(jié)點:

1、用于與客戶端進行通信的普通客戶端通信端口(通常為6379)對所有需要到達群集的客戶端以及所有其他群集節(jié)點(使用客戶端端口進行密鑰遷移)都是開放的。

2、集群總線端口(客戶端端口+ 10000)必須可從所有其他集群節(jié)點訪問。

如果您不打開這兩個TCP端口,則您的群集將無法正常工作。

集群總線使用不同的二進制協(xié)議進行節(jié)點到節(jié)點的數(shù)據(jù)交換,這更適合于使用很少的帶寬和處理時間在節(jié)點之間交換信息。

4.Redis集群和Docker

目前,Redis群集不支持NAT地址環(huán)境,并且在IP地址或TCP端口被重新映射的一般環(huán)境中。

Docker使用一種叫做端口映射的技術:Docker容器中運行的程序可能會暴露在與程序認為使用的端口不同的端口上。 這對于在同一服務器中同時使用相同端口運行多個容器很有用。

為了使Docker與Redis Cluster兼容,您需要使用Docker的主機聯(lián)網(wǎng)模式。 請查看Docker文檔中的

主站蜘蛛池模板: 汶上县| 荃湾区| 张北县| 靖安县| 安西县| 民丰县| 长宁县| 鹿泉市| 朝阳市| 新蔡县| 囊谦县| 遵化市| 德令哈市| 高台县| 崇文区| 克拉玛依市| 新河县| 东阿县| 光泽县| 陈巴尔虎旗| 潼南县| 鸡泽县| 临安市| 文昌市| 华池县| 泸州市| 巴里| 德惠市| 阿坝| 会宁县| 伊宁市| 甘谷县| 长葛市| 当涂县| 浦东新区| 吉隆县| 呼伦贝尔市| 石河子市| 沽源县| 丹凤县| 方城县|