1. 概述
1.1 應用場景
Redis是一種快速、靈活和可靠的鍵值儲存資料庫,適合處理高效能、實時和高併發的資料存取場景。
狀態伺服器主要用於儲存和更新應用程式的狀態資料,並允許多個用戶端同時存取和修改這些資料。
Redis單機作為帆軟叢集的狀態伺服器,主要用於儲存快取登入、範本鎖、SessionID、WebSocket 等,對所有的存取和操作進行驗證。
2. 準備單機Redis
使用者需要自行準備並部署單機 Redis。
帆軟不提供相關資料和指導,僅對必要內容進行指明,請查閱 Redis 官網獲取其他幫助。請參見:Redis 官網
如維運能力不足,推薦使用維運平台部署新項目時,勾選「部署Redis單機」即可,無需手動部署和調優。
2.1 伺服器建議
配置類型 | 說明 |
---|---|
伺服器數量 | 如有條件,建議Redis獨佔一台伺服器 如條件不足,至少確定有一台伺服器,部署且僅部署負載均衡、狀態伺服器、檔案伺服器、外接配置庫組件,該伺服器中不再部署其他內容 |
JVM/物理記憶體 | 4G+ |
物理記憶體 | 8G+ |
CPU | 2.5GHz以上 8核16執行緒 |
可用磁碟空間 | 100G以上 其中根目錄可用磁碟不可小於40G |
網路要求 | 1)組件和應用工程、其他叢集組件建議在同一網段,避免網路波動等問題 2)組件和應用工程、其他叢集組件如處於公網環境,帶寬需在10M以上 3)組件和應用工程、其他叢集組件之間需要網路暢通,互相埠可存取 |
2.2 版本要求
建議部署最新版本的 Redis
支援 5.0.4 及以上版本的 Redis
2.3 參數調優
建議修改 redis.conf 配置檔案中的以下內容。
修改後需要重啟 Redis 生效,啟動時需要指定該配置檔案,例:./redis-server /usr/redis/redis.conf
修改/新增 | 說明 |
---|---|
# bind 127.0.0.1 | 指定Redis監聽的IP地址 註釋掉,代表被禁用,否則將只接受來自本機的連結 |
protected-mode no | 配置Redis的安全模式 no代表允許外部連結,此時帆軟應用才能存取Redis服務 |
daemonize yes | 配置Redis是否以守護進程方式運行 yes代表redis在後台持續運作,不受使用者登入或終端關閉影響 |
maxmemory 4294967296 | 配置Redis實體最大記憶體限制 推薦配置為4294967296(單位位元組,即4GB) 根據實際情況和系統資源,可進行調整 |
maxmemory-policy noeviction | 配置達到最大記憶體限制時的處理策略 noeviction,代表Redis記憶體達到最大限制時,Redis不會自動清理或刪除任何鍵來釋放記憶體,新的寫入請求將會被拒絕 這個選項用於保護 Redis 實體中的重要資料不被意外刪除 |
requirepass admin123456 | 配置Redis服務的密碼 可自行將admin123456修改為你的密碼 |
port 7001 | 修改Redis服務佔用的埠 預設埠為6379,請修改為任意埠 請確定埠未被佔用,且可被帆軟應用所在伺服器存取 |
pidfile /var/run/redis_7001.pid | 指定PID檔案的路徑 建議根據Redis伺服器佔用的埠調整 |
logfile "7001.log" | 指定Redis伺服器日誌檔案路徑 將日誌資訊寫入到名為 "7001.log" 的檔案中。透過查看日誌檔案,可以瞭解 Redis 伺服器的運作狀態、發現潛在的問題,並採取相應的措施進行修復 |
2.4 準備Redis資訊
請準備好 Redis 的主機IP、埠、密碼,用於項目接入。
資訊 | 說明 |
---|---|
主機 | 即Redis所在伺服器的內網IP地址 |
埠 | 即上文redis.conf檔案中的port配置值 預設為6379 |
密碼 | 即上文redis.conf檔案中的requirepass配置值 預設無密碼 |
ACL | FineBI6.0.16&FineReport11.0.22 及之後版本 支援 Redis6.0 的權限管理功能ACL 如需使用,請準備好帳號 |
3. 叢集接入單機Redis
在帆軟應用的「管理系統>叢集管理」中,可接入自備的單機Redis作為狀態伺服器。
1)管理者登入帆軟應用,點選「管理系統>智慧維運>叢集管理」。
2)開啟狀態伺服器,快取系統下會出現「Redis單機」下拉選項。
輸入第二章準備的Redis資訊,點選「測試連結並儲存」,即可使用該Redis單機,作為狀態伺服器。