概述
本文簡單介紹:
部署帆軟叢集時支援的部署環境
部署帆軟叢集時必須滿足的要求
叢集組件支援的型別
注1:本文列出的是全量的部署支援環境。建議您參考該文檔選擇最適合的部署環境:工程部署推薦環境
注2:本文列出的是帆軟測試透過的環境。
本文未提及的更低版本,一般預設不支援
本文未提交的更高版本,使用者可自行測試驗證。如果使用後出現問題,付費使用者可聯絡技術支援獲取幫助。技術支援聯絡方式:帆軟官方服務渠道使用説明 。
注3:對於各類叢集組件(例如Nginx/Redis/外接資料庫等),文檔僅列出支援的版本,具體部署方法建議優先查詢具體廠商文檔。
通用伺服器要求
伺服器工件系統
優先推薦使用 Linux 工件系統部署帆軟應用和叢集組件。
系統版本:Ubuntu 18.04.4 及以上
系統核心:3.10 及以上
系統架構:X86_64
注:Linux和Windows對比分析請參見:Linux和Windows對比分析
類別 | 工件系統 | 已驗證版本號 |
---|---|---|
Linux | Centos6 | Centos 6.5、Centos 6.6、Centos 6.7、Centos 6.8、Centos 6.9 |
Centos7 | Centos 7.0、Centos 7.1、Centos 7.2、Centos 7.3、Centos 7.4 Centos 7.6、Centos 7.8、Centos 7.9 | |
RedHat6 | RedHat 6.5、RedHat 6.6、RedHat 6.7、RedHat 6.8、RedHat 6.9 | |
RedHat7 | RedHat 7.0、RedHat 7.1、RedHat 7.2、RedHat 7.3、RedHat 7.4 RedHat 7.7 | |
Ubuntu | Ubuntu 10.04.4、Ubuntu18.04、Ubuntu 20 | |
Amazon Linux | Amazon Linux AMI release 2018.03 | |
Rocky Linux | Rocky Linux 8.8~9.4版本 | |
Windows | Windows Server 2008 及以上 Windows 11 |
伺服器磁碟空間
目錄 | 作用 | 配置要求 |
---|---|---|
工程部署 | 用於部署工程,存放工程範本資源檔案等 | 500G以上 |
根目錄 | 存放內容: 對於帆軟應用,指系統使用時的臨時快取.FineReport110 對於叢集組件,指組件運作時的各種快取 目錄位置: 1)對於linux系統中root使用者啟動的工程 根目錄在/root下 2)對於linux系統中非root使用者啟動的工程 根目錄在/home/$帳號/下 3)對於Windows系統中啟動的工程 根目錄在C:\Users\帳號下 | 不小於40G |
/usr目錄 | 預設日誌存放路徑 | 不小於15G |
/home目錄 | 檔案伺服器儲存目錄,存放範本等資源檔案 | 不小於10G |
伺服器埠準備
1)中間軟體、檔案伺服器、狀態伺服器包含多種,請根據選擇的情況自行開放埠。
2)埠是否被佔用請參見:埠占用查看。如果預設埠與其他工程有衝突,需要先修改埠,再開放對應的埠。
3)若同一個伺服器部署多個 Tomcat 工程,需要修改 Tomcat 埠號以防埠衝突,具體可參見:修改Tomcat埠號
4)若防火牆開啟,需要開放相關埠號:
Windows 系統開放埠步驟請參見:Windows伺服器設定出入站規則
Linux 系統開放埠步驟請參見:Linux防火牆使用及配置
5)對於 docker 容器,或者伺服器之間埠嚴格限制的環境,需要對節點的伺服器之間開放埠,用於節點間通訊。
選擇 TCP 協定是 7800/7810/7820/7830/7840/7850/7860/7870 八個埠
選擇 UDP 協定是 45588~65536 隨機埠
分類 | 內容 | 埠 | 備註 |
---|---|---|---|
負載均衡 | Nginx | 80 或 443 | 外部埠,必須對外開放,可修改(nginx.conf),是叢集系統入口埠,其他負載均衡的埠請自行配置 |
中間軟體 | Tomcat | 8080 | 外部埠,可不對外開放,可修改(server.xml),SSL、短位址等在負載均衡層面配置 |
WebLoigc | 7001 | ||
WebSphere | 9080 | ||
訊息通知 | Websocket 埠 | 38888/39888 | 詳情請參見: |
Websocket 轉發埠 | 38889 | ||
檔案伺服器 | FTP | 20、21 | 內部埠,可修改(自行操作) |
SFTP | 22 | 內部埠,不可修改 | |
HDFS | 9000 | 內部埠,可修改(自行操作) | |
狀態伺服器 | redis 單機 | 6379 | 內部埠,可修改(redis.conf) |
redis 叢集 | / | 內部埠,根據配置情況自行修改(redis.conf) |
伺服器網路要求
1)公網環境和內網環境均可部署帆軟應用和叢集組件。如下表所示:
型別 | 帶寬 | 網段 |
---|---|---|
公網 | 10M 以上 | 各個工程節點、叢集組件、外接資料庫處於同網段 |
內網 | 內網一般都是百兆/千兆帶寬,故對帶寬不做要求 | 各個工程節點、叢集組件、外接資料庫處於同網段 |
2)各個工程節點、叢集組件、外接資料庫間需要支援通訊。
工程部署要求
伺服器配置要求
帆軟應用支援單機和叢集部署,叢集則為多個工程節點。
每個節點都是一個可以獨立運作的工程,負責處理使用者的請求,處理生成報表的任務和管理其他組件的工作。
建議按照工程併發數,準備不同數量和配置的工程節點,具體如下表所示:
注1:一個伺服器只能部署叢集的一個工程節點,不支援在一臺伺服器部署叢集的多個工程節點。
注2:每個節點伺服器 JVM 記憶體建議 8G 以上,不超過 32G,過大會導致系統 FullGC 時間過長。
註冊使用者數 | 線上使用者數 | 併發使用者數 | 推薦配置 70% 場景的平均回应時間低於3s | 最低配置 70% 場景的平均回应時間低於5s |
---|---|---|---|---|
2000-5000 | 400-1000 | 0-200 | 單機,節點滿足: CPU:8 核 16 執行緒 2.4GHZ JVM 記憶體:16GB 物理記憶體:32G | 單機,節點滿足: CPU:8 核 16 執行緒 2.4GHZ JVM 記憶體:8GB 物理記憶體:16G |
4000-10000 | 800-1500 | 200-300 | 單機,節點滿足: CPU:8 核 16 執行緒 2.4GHZ JVM 記憶體:16GB 物理記憶體:32G | 單機,節點滿足: CPU:8 核 16 執行緒 2.4GHZ JVM 記憶體:8GB 物理記憶體:16G |
6000-12000 | 1200-2500 | 300-500 | 單機,節點滿足: CPU:16 核 32 執行緒 2.5GHZ JVM 記憶體:24GB 物理記憶體:32G | 單機,節點滿足: CPU:8 核 16 執行緒 2.4GHZ JVM 記憶體:16GB 物理記憶體:32G |
8000-20000 | 1600-4000 | 500-800 | 2節點叢集,每個節點滿足: CPU:8 核 16 執行緒 2.4GHZ JVM 記憶體:24GB 物理記憶體:48G | 2節點叢集,每個節點滿足: CPU:8 核 16 執行緒 2.4GHZ JVM 記憶體:16GB 物理記憶體:32G |
10000-25000 | 2000-5000 | 800-1000 | 3節點叢集,每個節點滿足: CPU:8 核 16 執行緒 2.4GHZ JVM 記憶體:32GB 物理記憶體:64G | 2節點叢集,每個節點滿足: CPU:8 核 16 執行緒 2.4GHZ JVM 記憶體:24GB 物理記憶體:48G |
12000-30000 | 2400-6000 | 1000-1200 | 3節點叢集,每個節點滿足: CPU:8 核 16 執行緒 2.4GHZ JVM 記憶體:32GB 物理記憶體:64G | 3節點叢集,每個節點滿足: CPU:8 核 16 執行緒 2.4GHZ JVM 記憶體:24GB 物理記憶體:48G |
注1:使用者維度說明:
註冊使用者數:系統註冊了的使用者。
線上使用者數:使用者同時在一定時間段的線上數量(一般註冊人數的 5% - 20% 之間)。
併發使用者數:同時向伺服器傳送請求的使用者數(一般是線上人數的 10% - 25% 左右)。
注2:配置說明:
推薦配置時:70% 場景的平均響應時間低於 3s。
最低配置時:70% 場景的平均響應時間低於 5s。
伺服器其他要求
分類 | 說明 | 參考文檔 |
---|---|---|
語言要求 | 使用中文的使用者將工程部署到 Linux 系統時,需確認系統中是否有中文語言包 | Linux 系統安裝中文語言包 |
權限要求 | 為保證工程正常運作,最低要給工程資料夾 755 權限 | Linux檔案權限配置 |
時間要求 | 請檢查各工程節點伺服器系統時間是否一致 不一致可能會導致叢集不可用及同步問題 | Linux 系統如何配置各個節點的時間一致? |
中間軟體要求
容器化部署/部署包部署無需準備本節內容,產品均內建了 JDK 和應用伺服器,內建 JDK 都為 OpenJDK 。
獨立部署需要準備本節內容。需要自備應用伺服器和 JDK 。
FineReport 是純 Java 的 Servlet 應用程式,必須部署在 Tomcat、WebLogic、WebSphere 等中間軟體下。
啟動中間軟體時就會載入 FineReport 這個 Servlet應用程式,工程才能正常運作。
中間軟體 | 中間軟體版本 | JDK 版本 |
---|---|---|
Tomcat | 推薦使用 Tomcat8 最新版本 注:使用推薦版本可減少因 Tomcat 版本過低導致的安全問題。 支援Tomcat7.0~9.0 版本 不支援 Tomcat10.0 版 | JDK 1.8 且小版本需在 JDK8u102 以上 注1:JDK 版本若不符合這個要求,部署啟動時可能會遇到問題 注2:JDK 版本必須要與工件系統對應,如 32 位的系統只能使用 32 位的 JDK 注3:不支援 OpenLogic OpenJDK 。 |
WebLogic | Weblogic12.2.1.3 及以上 | |
WebSphere | WebSphere8.5 | |
JBoss | JBoss6 及以上 | |
Resin | Resin-4.0.58 |
1)中間軟體部署注意事項:
如需在docker容器上運作FineReport/FineBI,請確定記憶體大於8G。
建議使用解壓版的 Tomcat 和 JDK。
同一個中間軟體中不能部署多個 FineReport 工程。
使用者環境若安裝多個 Tomcat ,不建議使用者環境變數配置 CATALINA_HOME 或者 TOMCAT_HOME 。否則不論使用者啟動哪個 Tomcat ,啟動的都是 CATALINA_HOME 指定的那個。
7.0.100 版本的 Tomcat 需要將 web.xml 放到%Tomcat_HOME%\webapps\webroot\WEB-INF下,否則會報錯。檔案請參見:web.zip
2)Windows 系統安裝 JDK注意事項:
環境變數 JAVA_HOME 一定要有,Path 下一定要有%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
若環境變數指向的%JRE_HOME%/bin下無 attach.dll 檔案,還需將%JAVA_HOME%/jdk/jre/bin下的 attach.dll copy到此路徑下,否則 Tomcat 啟動後會報錯:fine assist start failed
應用工程準備
容器化部署/部署包部署無需準備本節內容,產品內建了全新工程。全新工程部署後,平台登入的帳號和密碼需要自己設定。
獨立部署需要準備本節內容。
部署工程需要準備%FR_HOME%\webapps下的 webroot 資料夾。
需提前準備好工程,已有的工程或者重新 下載最新的工程 。
若使用已有的工程進行部署,平台登入的帳號和密碼是已有工程的。
外接資料庫要求
數據決策系統中除平台屬性配置以外的所有資訊,包括目錄樹設定、範本定時任務資訊等,均儲存於一個資料庫中。
它管理和儲存了工程節點的各種配置資訊,保證各個節點的配置一致,並方便管理者集中管理工程的元資料。
無論是單機還是叢集,正式工程均建議配置外接資料庫。
伺服器配置要求
佔用空間需要結合使用度進行調整,可以根據webapps/webroot/WEB-INF/embed/finedb資料夾大小配置,並根據實際大小預估未來使用大小,增大1~2倍。
外接資料庫儘量和工程節點在同一網段,避免網路波動等問題。
如有條件,建議負載均衡、狀態伺服器、檔案伺服器、外接配置庫組件分別部署在不同的伺服器上,如條件不足,至少確定有單獨的伺服器部署這些組件。
配置型別 | 最低配置 | 推薦配置 |
---|---|---|
伺服器數量 | 1 | 2,主從模式 |
物理記憶體 | 8GB | 16GB |
CPU | 2.4GHz以上 4核8執行緒 | 2.5GHz以上 8核16執行緒 |
網速 | 50Mbps | 100Mbps |
可用磁碟空間 | 100G以上 其中根目錄可用磁碟不可小於40G | 100G以上 其中根目錄可用磁碟不可小於40G |
磁碟讀寫速度 | 50MB/s | 100MB/s |
資料庫型別要求
非容器化部署需要準備本章內容。容器化部署無需準備本節內容,會自動安裝MySQL資料庫並外接。
資料庫型別 | 支援資料庫版本 | 配置方法 |
---|---|---|
RDS MySQL | 不限制版本 | 配置MySQL5外接資料庫 |
MySQL | 5.1.73、5.5.31、5.5.46、5.5.56、5.6.22、5.6.31、5.7.16 | |
8.0.11,8.0.16,8.0.20 | 配置MySQL8外接資料庫 | |
Oracle | 10g、11g、12c | 配置Oracle外接資料庫 |
SQL Server | 2000、2005、2008、2012、2014、2016 | 配置SQL Server外接資料庫 |
2017 | ||
DB2 | 9.7、8.2、11.1 | 配置DB2外接資料庫 |
PostgreSQL | 9.4.7、9.5.0、9.5.2、9.6.0 | 配置PostgreSQL外接資料庫 |
負載均衡要求
在帆軟叢集架構中,負載均衡器是連結使用者和叢集節點之間的組件,以確定使用者請求能夠合理分配到不同的叢集節點上。
負載均衡器可以透過各種算法來分配使用者請求到不同的節點上,以獲得更好的效能和負載均衡效果。
伺服器配置要求
配置型別 | 說明 |
---|---|
伺服器數量 | 如有條件,建議負載均衡、狀態伺服器、檔案伺服器、外接配置庫組件分別部署在不同的伺服器上 如條件不足,至少確定有單獨的伺服器部署這些組件 |
物理記憶體 | 8G |
CPU | 2.5GHz以上 8核16執行緒 |
可用磁碟空間 | 100G以上 其中根目錄可用磁碟不可小於40G |
GCC編譯器 | Nginx 在 Linux 系統上的部署依賴 GCC 編譯器 請保證系統具備 GCC 編譯環境 查詢命令:gcc -v 安裝命令:yum install gcc gcc-c |
網路要求 | 1)各個組件和應用工程建議在同一網段,避免網路波動等問題 2)各個組件和應用工程如處於公網環境,帶寬需在10M以上 3)各個組件和應用工程之間需要網路暢通,互相埠可存取 |
負載均衡型別要求
非容器化部署需要準備本章內容。容器化部署無需準備本節內容,會自動安裝Nginx。
高可用叢集推薦使用Keepalived Nginx,標準叢集推薦使用Nginx。
不支援 Apache 負載均衡。
負載均衡 | 簡介 |
---|---|
Keepalived Nginx | 簡介: Keepalived Nginx是一種實現高可用性和負載均衡的可行方案。 Keepalived透過監視多個Nginx伺服器的狀態,當某個伺服器出現故障時,它可以自動接管該伺服器的IP位址,並將所有請求轉發到其他正常的伺服器上。 這樣可以保證Web服務的高可用性,避免單點故障導致的服務中斷。 優點: 高可用性:Keepalived可以監視伺服器狀態,並自動進行故障轉移,確定服務的高可用性。 負載均衡:Nginx將請求分配到不同的伺服器上,實現負載均衡,提高系統的效能和吞吐量 反向代理:Nginx提供了反向代理功能,將請求轉發到不同的Web伺服器上,保證了Web服務的高效性 缺點: 配置複雜:Keepalived Nginx需要進行復雜的配置,需要一定的技術水平和經驗 需要更多的硬體或虛擬資源,需要至少兩個伺服器,需要增加硬體或虛擬資源的投資 文檔: |
Nginx | 簡介:Nginx是一款高效能、高可靠性、開源的Web伺服器和反向代理伺服器 廣泛應用於負載均衡、Web快取、安全控制等領域 優點: 支援多種反向代理和負載均衡算法,高效能和高併發處理能力,配置簡單,易於擴展 在 Linux 系統上具備很好的併發效能,並且佔用極小的記憶體,穩定性和效能經過充分驗證 缺點: 不同模組之間的整合不夠完整,對於新手可能有一定的門檻 在 Windows 系統上,若併發需求超過 200,可能會出現併發問題 文檔: |
Traefik | 簡介:Traefik是一款現代化、動態負載均衡工具,主要用於Windows系統 優點: 無需安裝,只要在命令行裏執行即可,部署和使用非常簡單 支援自動化更新反向代理和負載均衡配置 在 Windows 系統上具備良好的效能 缺點:部分功能需要進階版本,升級版本不夠穩定 |
AWS ELB | 簡介:AWS ELB是亞馬遜雲端計算服務中提供的一種負載均衡服務,包括經典負載均衡、應用程式負載均衡和網路負載均衡三種型別,可以實現不同協定的負載均衡 優點:可用性和可靠性,支援多種協定,可快速部署,方便維護 缺點:費用較高,配置和權限管理較為複雜 |
F5 | 簡介:F5是一家網路應用服務公司,推出的產品包括負載均衡、應用安全等 優點:高可用性和可靠性,支援多種應用場景和應用型別,提供進階應用安全解決方案 缺點:價格較高,配置較為繁瑣,需要一定的技術支援 |
狀態伺服器要求
狀態伺服器是一個服務組件,用於儲存叢集節點的狀態資訊,如節點的運作狀態、負載、任務處理情況等。
它可以輔助動態分配任務到合適的節點上,並幫助管理者進行實時監視和調度叢集狀態。
伺服器配置要求
配置型別 | 說明 |
---|---|
伺服器數量 | 如有條件,建議負載均衡、狀態伺服器、檔案伺服器、外接配置庫組件分別部署在不同的伺服器上 如條件不足,至少確定有單獨的伺服器部署這些組件 |
JVM/物理記憶體 | 4g/8g |
CPU | 2.5GHz以上 8核16執行緒 |
可用磁碟空間 | 100G以上 其中根目錄可用磁碟不可小於40G |
GCC編譯器 | Redis 在 Linux 系統上的部署依賴 GCC 編譯器 請保證系統具備 GCC 編譯環境 查詢命令:gcc -v 安裝命令:yum install gcc gcc-c |
網路要求 | 1)各個組件和應用工程建議在同一網段,避免網路波動等問題 2)各個組件和應用工程如處於公網環境,帶寬需在10M以上 3)各個組件和應用工程之間需要網路暢通,互相埠可存取 |
狀態伺服器型別要求
非容器化部署需要準備本章內容。容器化部署無需準備本節內容,會自動安裝Redis單機。
帆軟叢集方案中支援的狀態伺服器有:Redis單機、Redis叢集、Redis哨兵、騰訊雲Redis叢集4.0
高可用叢集推薦使用Redis叢集,標準叢集推薦使用Redis單機。
狀態伺服器 | 說明 |
---|---|
Redis單機 | 簡介: Redis單機模式是Redis最簡單的部署方式,只部署一個 Redis 應用 使用起來也最為簡單,只有主機、埠、密碼三個配置項 優點:易於配置和管理,無需考慮資料的分片和叢集等問題,維運成本低 缺點:容易出現單點故障,容量受到單臺伺服器的限制,不能實現高可用性和負載均衡。 |
Redis叢集 | 簡介:Redis叢集是一種基於分片的Redis部署方式,它將資料分散到多個節點中,進而可以實現橫向擴展和高可用性。一般是6個Redis節點,組成三主三從的模式提供服務 優點: 由於資料分割槽儲存,所以當一個主節點及其對應的從節點全部當機後,整個 Redis 叢集將不能使用 當存活的主節點數小於總節點數的一半時,整個 Redis 叢集也會無法提供服務 |
Redis哨兵 | 簡介:Redis哨兵是一種集中式的Redis高可用性解決方案,它會自動監測Redis節點狀態,當某個節點失效時,自動進行故障轉移。主要由一個主節點多個從節點和多個哨兵組成,一般就是一主二從三哨兵 優點: 提供較好的高可用性,對於Redis單機和Redis叢集都適用 Redis哨兵只有一個主節點,當主節點當機時,哨兵會選舉一個從節點上升為主節點 缺點: 需要佔用一定的系統資源,需要定期檢查Redis的狀態,不能實現水平擴展 Redis哨兵讀寫效能沒有Redis叢集好,因為Redis叢集有多個主節點可以讀寫,所以不支援高併發 文檔:Redis 哨兵模式插件 |
騰訊雲Redis叢集4.0 | 簡介:部分使用者在部署程式中,使用的 Redis 為騰訊雲,帆軟提供騰訊雲 Redis 插件,方便使用者在部署叢集時進行適配,該插件只支援騰訊雲資料庫 Redis4.0 叢集版 優點:雲廠商,單機叢集都有,直接選購,比較方便 缺點:需安裝插件 文檔:騰訊雲 Redis 插件 |
檔案伺服器要求
檔案伺服器是叢集中儲存報表資料和附件的組件,它可以集中管理和共享叢集節點之間的檔案,確定檔案資料的一致和高可用性。
由於各個節點都是從同一個檔案伺服器讀取資源檔案,不涉及到同步,各個節點讀取的資源檔案永遠會保持一致。
伺服器配置要求
配置型別 | 說明 |
---|---|
伺服器數量 | 如有條件,建議負載均衡、狀態伺服器、檔案伺服器、外接配置庫組件分別部署在不同的伺服器上 如條件不足,至少確定有單獨的伺服器部署這些組件 |
物理記憶體 | 8g |
CPU | 2.5GHz以上 8核16執行緒 |
可用磁碟空間 | 500G~1T 其中根目錄可用磁碟不可小於40G 後續請根據使用情況擴展 |
使用者權限 | Linux系統安裝FTP時需要使用最高使用者(root),否則不能進行,若不安裝FTP則可不考慮這一要求 |
網路要求 | 1)各個組件和應用工程建議在同一網段,避免網路波動等問題 2)各個組件和應用工程如處於公網環境,帶寬需在10M以上 3)各個組件和應用工程之間需要網路暢通,互相埠可存取 |
檔案伺服器型別要求
非容器化部署需要準備本章內容。容器化部署無需準備本節內容,會自動安裝MinIO。
帆軟支援多種檔案伺服器,下面會對各個型別的檔案伺服器優缺點進行說明。
高可用叢集推薦使用NAS,標準叢集推薦使用SFTP。
推薦級別:SFTP≈MinIO>NFS>FTP≈HDFS
型別 | 優點 |
---|---|
SFTP | 簡介:SFTP是一種透過SSH協定進行加密的檔案傳輸協定, 優點:部署簡單,是Linux系統自帶的,相對於FTP而言更加安全和穩定 缺點: 非高可用方案,當機後會影響整個服務的使用 由於 SFTP 的傳輸方式使用了加密/解密技術,所以傳輸效率比普通的 FTP 要低得多 |
FTP | 簡介:FTP是一種檔案傳輸協定,可以透過FTP伺服器實現檔案上傳、下載和管理等功能 優點:穩定性高,效能好,讀寫速度高 缺點:非高可用方案,當機後會影響整個服務的使用 文檔: |
HDFS | 簡介:HDFS是Hadoop分佈式檔案系統的縮寫,是基於分佈式儲存架構的檔案系統,可以儲存大規模的資料檔案,並支援大數據分析和挖掘等操作 優點:高可用方案,分佈式檔案系統,具備高度故障容許度性 缺點:部署難度大,維運成本高,建議已經有HDFS服務的公司選用此方案 文檔:HDFS 資源倉庫 |
MinIO | 簡介:MinIO是一個輕量級的開源物件儲存伺服器,可以運作在任何環境中,並且支援各種雲儲存API 優點:MinIO具有易於部署和管理、高效能和低成本等優點 缺點:在工程化方面還存在一些不足 文檔:MinIO資源倉庫 |
S3 | 簡介:使用支援 S3 協定的雲儲存檔案系統作為檔案伺服器,包括阿里雲 OSS 、華為雲 OBS 、亞馬遜 S3 優點:雲儲存,高可用方案,具備高度故障容許度性,已有此類儲存的客戶對接很方便 缺點: 只支援部分S3,自建的S3不一定支援 備份還原類場景可能存在卡頓 文檔:S3資源倉庫 |
共享外部目錄 | 簡介:共享外部儲存是一種將外部儲存器與伺服器掛載的方式,可以實現共享資料夾和網路共享等功能 優點: 硬體儲存(NAS):穩定性高,儲存空間一般都比較大 軟體儲存(NFS):部署簡單,方案成熟 缺點: 硬體儲存(NAS):成本高,且非完全的高可用,當機後也會影響服務 軟體儲存(NFS):非高可用,服務端當機後,用戶端就無法再提供服務 文檔:共享外部目錄 |
叢集其他配置要求
快取模式
增加了快取模式,前端可進行選擇,快取和檔案伺服器搭配使用時可以增加檔案伺服器的高可用性,下面介紹一下如何選擇。
1)快取功能
快取的資源檔案:包含報表檔案、儀表板檔案、配置檔案、地圖資料等,目前是"reportlets/" ,"resources/", "assets/","dashboards"四個資料夾。
被動快取:僅對存取到的資源檔案進行快取。
2)快取作用
優點:
提高檔案伺服器的高可用性
快取避免了頻繁的檔案讀寫,速度更快,可大幅提高範本的存取效能。
缺點:
快取會佔用系統記憶體和硬碟資源。
因為叢集分裂等不穩定的情況,快取偶爾也會存在不同步的情況,此時可透過介面手動重新整理快取進行同步
總結一下,開啟快取功能可以大幅提高工程的效能,並且配合檔案伺服器使用時,可提高系統的高可用性,建議使用檔案伺服器時考慮開啟快取。
通訊協定
帆軟叢集支援 TCP 和 UDP 兩種通訊協定,目前預設是 TCP 協定,下面列舉兩種協定的差別:
TCP | UDP | |
---|---|---|
連結 | 基於連結 | 無連結 |
對系統資源的要求 | 較多 | 較少 |
程式結構 | 複雜 | 簡單 |
資料正確性 | 保證 | 不保證 |
資料順序性 | 保證 | 不保證 |
應用場景 | 網路負擔重,對響應速度要求高 | |
socket | socket(PF_INET,SOCK_STREAM,0) | socket(PF_INET,SOCK_DGRAM,0) |
資料收發 | send/recv | sendto/recvfrom |
位址資訊確定 | 在 connect/accept 時確定 | 在 sendto/recvfrom 函式中每次均需指定位址資訊 |
其中需要注意的是,大部分雲伺服器(阿里雲、亞馬遜雲等)都不支援UDP協定,因此只能選擇TCP協定。
若伺服器對TCP/UDP協定均支援,當節點數較少時選擇TCP/UDP協定差異不大, 當節點數較多時,建議選擇UDP協定,通訊效率更高。