叢集專案對接主從模式Redis叢集

1. 概述

1.1 應用場景

Redis是一種快速、靈活和可靠的鍵值儲存資料庫,適合處理高效能、實時和高併發的資料存取場景。

Redis叢集是一種基於分片的Redis部署方式,它將資料分散到多個節點中,進而可以實現橫向擴展和高可用性。

  • 主節點當機後,對應從節點會被選舉為新的主節點

  • 所有指向原主節點的用戶端會被通知新的主節點的地址

  • 新的主節點會從其他從節點同步資料,以確定資料的一致

狀態伺服器主要用於儲存和更新應用程式的狀態資料,並允許多個用戶端同時存取和修改這些資料。

Redis叢集作為帆軟高可用叢集的狀態伺服器,主要用於儲存快取登入、範本鎖、SessionID、WebSocket 等,對所有的存取和操作進行驗證。

1.2 功能簡介

本文主要講解帆軟叢集與叢集Redis的對接:

  • 使用者可自行準備一個叢集Redis,並進行參數調優

  • 在部署新專案/專案部署好後,可將叢集專案與該叢集Redis對接

2. 準備叢集Redis

使用者需要自行準備並部署叢集 Redis。

帆軟不提供相關資料和指導,僅對必要內容進行指明,請查閱 Redis 官網獲取其他幫助。請參見:Redis 叢集教程

如維運能力不足,推薦使用維運平台部署新專案時,勾選「部署Redis單機」即可,無需手動部署和調優。

2.1 伺服器建議

Redis 叢集對資源的要求比較多,維運成本也會更高。

下表列出每個伺服器的配置建議:

配置類型說明
伺服器數量

請根據節點數量準備伺服器個數

例如部署一個「三主三從」的 6 節點 Redis 叢集,則至少需要準備 3 台伺服器,每台伺服器上部署 「一主一從」的 2 個節點

注1:為了確定 Redis 叢集高可用,同一對主從節點不應部署在一台伺服器上,每一個主節點也不應部署在一台伺服器上

注2:如伺服器資源充足,建議Redis各個節點獨佔伺服器

        如條件不足,至少確定所用伺服器,部署且僅部署負載均衡、狀態伺服器、檔案伺服器、外接配置庫組件,不再部署其他內容

物理記憶體8G+
CPU2.5GHz以上

8核16執行緒

可用磁碟空間

100G以上

其中根目錄可用磁碟不可小於40G

網路要求1)組件和應用工程、其他叢集組件建議在同一網段,避免網路波動等問題

2)組件和應用工程、其他叢集組件如處於公網環境,帶寬需在10M以上

3)組件和應用工程、其他叢集組件之間需要網路暢通,互相埠可存取

2.2 版本要求

  • 建議部署最新版本的 Redis

  • 支援 5.0.4 及以上版本的 Redis

2.3 參數調優

  • 建議修改各個 Redis 節點的 redis.conf 配置檔案中的以下內容。

  • 修改後需要重啟 Redis 生效,啟動時需要指定新的配置檔案,例:./redis-server /usr/redis/7001/nodes-7001.conf

  • 下表以埠為7001的Redis實體為例,其他埠的配置,請按照實際情況調整

修改/新增說明
# bind 127.0.0.1

指定Redis監聽的IP地

註釋掉,代表被禁用,否則將只接受來自本機的連結

protected-mode no

配置Redis的安全模式

no代表允許外部連結,此時帆軟應用才能存取Redis服務

daemonize yes

配置Redis是否以守護進程方式運

yes代表redis在後台持續運作,不受使用者登入或終端關閉影響

maxmemory 2147483648

配置Redis實體最大記憶體限

推薦配置為2147483648(單位位元組,即2GB)

根據實際情況和系統資源,可進行調整

maxmemory-policy noeviction

配置達到最大記憶體限制時的處理策

noeviction,代表Redis記憶體達到最大限制時,Redis不會自動清理或刪除任何鍵來釋放記憶體,新的寫入請求將會被拒絕

這個選項用於保護 Redis 實體中的重要資料不被意外刪除

requirepass admin123456配置Redis服務的密碼

可自行將admin123456修改為你的密碼

請注意,各個Redis節點的密碼,必須完全一致,否則無法與帆軟叢集對接

port 7001修改Redis服務佔用的埠
預設埠為6379,請修改為任意埠
請確定埠未被佔用,且可被帆軟應用所在伺服器存取
pidfile /var/run/redis_7001.pid

指定PID檔案的路

建議根據Redis伺服器佔用的埠調整

logfile "7001.log"

指定Redis伺服器日誌檔案路

將日誌資訊寫入到名為 "7001.log" 的檔案中。透過查看日誌檔案,可以瞭解 Redis 伺服器的運作狀態、發現潛在的問題,並採取相應的措施進行修復

dbfilename 7001dump.rdb

指定RDB(Redis DataBase)快照檔案的名稱

當Redis進行持久化時,將記憶體中的資料快照儲存到該檔案

建議根據Redis伺服器佔用的埠調整檔案名稱

appendfilename "7001appendonly.aof"

指定AOF(Append Only File)檔案的名

當Redis使用AOF進行持久化時,將所有的寫操作日誌寫入該檔案

建議根據Redis伺服器佔用的埠調整檔案名稱

cluster-enabled yes

確認是否啟動Redis叢集模

yes代表Redis將以叢集模式運作

cluster-config-file nodes-7001.conf

指定叢集的配置檔案路

該檔案首次啟動時自動生成,包含叢集節點的資訊和配置

建議根據Redis伺服器佔用的埠調整檔案名稱

replicaof 192.168.101.91 7001

從節點需要配

指定主節點的IP和埠

請將IP與埠自行調整

masterauth admin123456

從節點需要配置該

指定連結到主節點時使用的密碼
可自行將admin123456修改為你的密碼

2.4 準備Redis資訊

請準備好Redis的主機IP、埠、密碼,用於專案接入。

資訊
說明
主機即Redis所在的各個伺服器的IP地址

即上文各個Redis實體的redis.conf檔案中的port配置

密碼

即上文redis.conf檔案中的requirepass配置

請注意,各個Redis節點的密碼,必須完全一致,否則無法與帆軟叢集對接

預設無密碼

ACL

FineBI6.0.16&FineReport11.0.22 及之後版本

支援 Redis6.0 的權限管理功能 ACL

如需使用,請準備好帳號

3. 叢集接入叢集Redis

本文僅講解如何在叢集配置中,使用「主從模式Redis叢集」作為狀態伺服器。叢集其他配置步驟請參見:平台配置叢集

在帆軟應用的「管理系統>叢集管理」中,可接入自備的叢集Redis作為狀態伺服器。

1)管理者登入帆軟應用,點選「管理系統>智慧維運>叢集管理」。

2)開啟狀態伺服器,快取系統下會出現「Redis叢集」下拉選項。

輸入第二章準備的Redis資訊,點選「測試連結並儲存」,即可使用該Redis叢集,作為狀態伺服器。

注:如非首次接入Redis,而是切換Redis狀態伺服器。請在切換成功後,重啟帆軟叢集,以確定各個節點的配置快取更新。

附件列表


主题: 部署整合
已经是第一篇
已经是最后一篇
  • 有帮助
  • 没帮助
  • 只是浏览
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙