欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

歡迎來到云服務器

大數據技術

史上最全 Redis 高可用解決方案總結來了!

一、常見使用方式

Redis 的幾種常見使用方式包括:

1、Redis 單副本

Redis 單副本,采用單個 Redis 節點部署架構,沒有備用節點實時同步數據,不提供數據持久化和備份策略,適用于數據可靠性要求不高的純緩存業務場景。

史上最全 Redis 高可用解決方案總結來了!

優點:

架構簡單,部署方便;

高性價比:緩存使用時無需備用節點(單實例可用性可以用 supervisor 或 crontab 保證),當然為了滿足業務的高可用性,也可以犧牲一個備用節點,但同時刻只有一個實例對外提供服務;

高性能。

缺點:

不保證數據的可靠性;

在緩存使用,進程重啟后,數據丟失,即使有備用的節點解決高可用性,但是仍然不能解決緩存預熱問題,因此不適用于數據可靠性要求高的業務;

高性能受限于單核 CPU 的處理能力(Redis 是單線程機制),CPU 為主要瓶頸,所以適合操作命令簡單,排序、計算較少的場景。也可以考慮用 Memcached 替代。

2、Redis 多副本(主從)

Redis 多副本,采用主從(replication)部署結構,相較于單副本而言最大的特點就是主從實例間數據實時同步,并且提供數據持久化和備份策略。主從實例部署在不同的物理服務器上,根據公司的基礎環境配置,可以實現同時對外提供服務和讀寫分離策略。

史上最全 Redis 高可用解決方案總結來了!

優點:

高可靠性:一方面,采用雙機主備架構,能夠在主庫出現故障時自動進行主備切換,從庫提升為主庫提供服務,保證服務平穩運行;另一方面,開啟數據持久化功能和配置合理的備份策略,能有效的解決數據誤操作和數據異常丟失的問題;

讀寫分離策略:從節點可以擴展主庫節點的讀能力,有效應對大并發量的讀操作。

缺點:

故障恢復復雜,如果沒有 RedisHA 系統(需要開發),當主庫節點出現故障時,需要手動將一個從節點晉升為主節點,同時需要通知業務方變更配置,并且需要讓其它從庫節點去復制新主庫節點,整個過程需要人為干預,比較繁瑣;

主庫的寫能力受到單機的限制,可以考慮分片;

主庫的存儲能力受到單機的限制,可以考慮 Pika;

原生復制的弊端在早期的版本中也會比較突出,如:Redis 復制中斷后,Slave 會發起 psync,此時如果同步不成功,則會進行全量同步,主庫執行全量備份的同時可能會造成毫秒或秒級的卡頓;又由于 COW 機制,導致極端情況下的主庫內存溢出,程序異常退出或宕機;主庫節點生成備份文件導致服務器磁盤 IO 和 CPU(壓縮)資源消耗;發送數 GB 大小的備份文件導致服務器出口帶寬暴增,阻塞請求,建議升級到最新版本。

3、Redis Sentinel(哨兵)

Redis Sentinel 是社區版本推出的原生高可用解決方案,其部署架構主要包括兩部分:Redis Sentinel 集群和 Redis 數據集群。

其中 Redis Sentinel 集群是由若干 Sentinel 節點組成的分布式集群,可以實現故障發現、故障自動轉移、配置中心和客戶端通知。Redis Sentinel 的節點數量要滿足 2n+1(n>=1)的奇數個。

史上最全 Redis 高可用解決方案總結來了!

史上最全 Redis 高可用解決方案總結來了!

優點:

Redis Sentinel 集群部署簡單;

能夠解決 Redis 主從模式下的高可用切換問題;

很方便實現 Redis 數據節點的線形擴展,輕松突破 Redis 自身單線程瓶頸,可極大滿足 Redis 大容量或高性能的業務需求;

可以實現一套 Sentinel 監控一組 Redis 數據節點或多組數據節點。

缺點:

部署相對 Redis 主從模式要復雜一些,原理理解更繁瑣;

資源浪費,Redis 數據節點中 slave 節點作為備份節點不提供服務;

Redis Sentinel 主要是針對 Redis 數據節點中的主節點的高可用切換,對 Redis 的數據節點做失敗判定分為主觀下線和客觀下線兩種,對于 Redis 的從節點有對節點做主觀下線操作,并不執行故障轉移。

不能解決讀寫分離問題,實現起來相對復雜。

建議:

如果監控同一業務,VPS租用 國內服務器,可以選擇一套 Sentinel 集群監控多組 Redis 數據節點的方案,反之選擇一套 Sentinel 監控一組 Redis 數據節點的方案

sentinel monitor

配置中的建議設置成 Sentinel 節點的一半加 1,當 Sentinel 部署在多個 IDC 的時候,單個 IDC 部署的 Sentinel 數量不建議超過(Sentinel 數量 – quorum)。

合理設置參數,防止誤切,控制切換靈敏度控制:

a. quorum

b. down-after-milliseconds 30000

c. failover-timeout 180000

d. maxclient

e. timeout

部署的各個節點服務器時間盡量要同步,否則日志的時序性會混亂。

Redis 建議使用 pipeline 和 multi-keys 操作,減少 RTT 次數,云主機,提高請求效率。

自行搞定配置中心(zookeeper),方便客戶端對實例的鏈接訪問。

4、Redis Cluster

騰訊云代理

Copyright © 2003-2021 MFISP.COM. 國外vps服務器租用 夢飛云服務器租用 版權所有 ? 粵ICP備11019662號

主站蜘蛛池模板: 驻马店市| 兰西县| 交城县| 罗源县| 克什克腾旗| 瑞丽市| 鄂州市| 乌拉特后旗| 句容市| 彩票| 盈江县| 临沂市| 台安县| 晴隆县| 周宁县| 渭南市| 沅江市| 济宁市| 潢川县| 衢州市| 新乡县| 西吉县| 长武县| 哈尔滨市| 扎囊县| 德钦县| 盐津县| 陆丰市| 崇阳县| 南安市| 清丰县| 建昌县| 深州市| 香港| 大同市| 临安市| 登封市| 新沂市| 阿拉善盟| 明星| 色达县|