概述
本文將介紹單機和叢集工程部署的基本流程,方便大家直覺感受部署具體包含哪些操作。
本文面向正式工程,因此提供了配置外接資料庫、安全加固等後續操作。此類後續操作均為正式工程的建議操作,不強制要求。
本文僅介紹Linux系統&Tomcat中間軟體下的部署方案,其他不贅述。
注:推薦使用者使用Linux系統伺服器部署正式工程,原因請參見:Linux和Windows對比分析
第一步:確定部署工程節點數
帆軟應用支援單機和叢集部署,叢集則為多個工程節點。
請按照工程預計併發數,確定部署單機還是叢集,確定部署多少個工程節點,具體如下表所示:
注:使用者維度說明:
註冊使用者數:系統註冊了的使用者。
線上使用者數:使用者同時在一定時間段的線上數量(一般註冊人數的 5% - 20% 之間)。
併發使用者數:同時向伺服器傳送請求的使用者數(一般是線上人數的 10% - 25% 左右)。
註冊使用者數 | 線上使用者數 | 併發使用者數 | 推薦配置 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:8 核 16 執行緒 2.4GHZ JVM 記憶體:24GB 物理記憶體:48G | 單機,節點滿足: 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 |
第二步“選擇工程部署方式
請根據各種部署方式的優缺點,選擇適合自己的部署方式。
單機部署提供三種部署方式:容器化部署、部署包部署、獨立部署
叢集部署提供三種部署方式:容器化部署標準叢集、手動部署標準叢集、手動部署高可用叢集
工程類型 | 部署方式 | 說明 |
---|---|---|
單機 | 容器化部署 | ★★★★★ 優點: 部署成本低:一鍵部署,自帶JDK、Tomcat、FineReport工程和外接資料庫 啟動成本低:部署成功後預設新增好啟動參數,無需手動配置 異常影響小:工程環境容器化,每個工程的環境相互隔離,出現異常時影響範圍小 維運成本低:維運平台自動接入工程,對工程進行自動監視預警,維運成本低 |
部署包部署 | 優點: 部署成本低:一鍵部署,自帶JDK、Tomcat、FineReport工程 限制項: 只支援Tomcat部署,只支援x86和arm架構 部署完需要手動配置參數,以保證系統穩定運作 無法即時對系統運作情況進行監視警報 | |
獨立部署 | 優點: 不限制中間軟體,不限制伺服器架構 限制項: 需提前部署準備JDK環境和Tomcat中間軟體 需提前準備好FineReport工程包 部署完需要手動配置參數,以保證系統穩定運作 無法即時對系統運作情況進行監視警報 | |
叢集 | 容器化部署叢集(標準/高可用) | ★★★★★ 優點: 部署成本低:一鍵部署,包括FineReport工程節點+負載均衡+狀態伺服器+檔案伺服器+外接資料庫(使用者如需容器化部署高可用叢集,可自行準備高可用組件) 啟動成本低:部署成功後預設新增好啟動參數,無需手動配置 異常影響小:工程環境容器化,每個工程的環境相互隔離,出現異常時影響範圍小 維運成本低:維運平台自動接入工程,支援對伺服器、FineReport應用、組件服務等進行監視警報 |
手動部署標準叢集 | 優點: 相比於單機工程,叢集中多個工程相互通訊共享資料和任務,可以提供更好的可延伸性和更高的效能,可以提高系統的負載能力和可用性,並確定系統的穩定性和一致 限制項: 工程節點+負載均衡+狀態伺服器+檔案伺服器+配置庫都需手動部署、修改配置和串並起來 部署完需要手動配置參數,以保證系統穩定運作 無法即時對系統運作情況、伺服器、組件伺服器進行監視警報 | |
手動部署高可用叢集 | 優點: 相比於標準叢集,叢集更加高可用,確定工程維運穩定 限制項: 需要進行復雜的配置,需要一定的技術水平和經驗,需要更多的硬體或虛擬資源 工程節點+負載均衡+狀態伺服器+檔案伺服器+配置庫都需手動部署、修改配置和串並起來 部署完需要手動配置參數,以保證系統穩定運作 無法即時對系統運作情況、伺服器、組件伺服器進行監視警報 |
第三步:查看具體部署方案
單機方案一:容器化部署
操作步驟 | 說明 | |
---|---|---|
1 | 準備伺服器環境 | 準備FineReport工程、外接資料庫的伺服器環境 推薦環境:工程部署推薦環境 |
2 | 容器化部署 | 1)下載、上傳、解壓容器化部署工具 2)修改finekey.yaml配置檔案 3)語句啟動部署流程 4)部署成功後工程自動啟動,管理者即可存取工程 參考文檔:容器化部署新FineReport單機項目 |
3 | 後續操作 | 1)容器化部署時,會自動安裝FineReport工程和外接資料庫,工程會自動接入外接資料庫,因此無需配置外接資料庫 2)建議參考文檔提高產品安全性:產品安全加固指導手冊 3)建議參考文檔提高維運穩定性:維運監視指導手冊 |
單機方案二:部署包部署
操作步驟 | 說明 | |
---|---|---|
1 | 準備伺服器環境 | 準備FineReport工程的伺服器環境 準備並部署好外接資料庫 推薦環境:工程部署推薦環境 支援環境:單機工程部署支援環境 |
2 | 部署包部署 | 1)下載、上傳、解壓伺服器部署包 2)語句啟動FineReport工程 3)啟動成功後,管理者即可存取工程 |
3 | 後續操作 | 1)建議為正式工程配置外接資料庫:配置外接資料庫 2)建議參考文檔提高產品安全性:產品安全加固指導手冊 3)建議參考文檔提高維運穩定性:維運監視指導手冊 |
單機方案三:獨立部署
操作步驟 | 說明 | |
---|---|---|
1 | 準備伺服器環境 | 準備FineReport工程的伺服器環境 準備並部署好Tomcat、JDK 準備並部署好外接資料庫 推薦環境:工程部署推薦環境 支援環境:單機工程部署支援環境 |
2 | 獨立部署 | 1)上傳webroot工程檔案 2)上傳tools.jar檔案 3)語句啟動FineReport工程 4)啟動成功後,管理者即可存取工程 |
3 | 後續操作 | 1)建議為正式工程配置外接資料庫:配置外接資料庫 2)建議參考文檔提高產品安全性:產品安全加固指導手冊 3)建議參考文檔提高維運穩定性:維運監視指導手冊 |
叢集方案一:容器化部署標準叢集
操作步驟 | 說明 | |
---|---|---|
1 | 準備伺服器環境 | 準備工程節點+負載均衡+狀態伺服器+檔案伺服器+配置庫部署環境 推薦環境:工程部署推薦環境 支援環境:叢集工程部署支援環境 |
2 | 容器化部署 | 1)下載、上傳、解壓容器化部署工具 2)修改finekey.yaml配置檔案 3)語句啟動部署流程,會自動部署:
4)部署成功後,叢集工程自動啟動,管理者即可存取工程 參考文檔:容器化部署新FineReport叢集項目 |
3 | 後續操作 | 1)容器化部署時,會自動部署工程節點和叢集組件 工程會自動接入外接資料庫,因此無需配置外接資料庫 工程會自動接入負載均衡+狀態伺服器+檔案伺服器,因此無需開啟配置叢集 2)建議參考文檔提高產品安全性:產品安全加固指導手冊 3)建議參考文檔提高維運穩定性:維運監視指導手冊 |
叢集方案二:手動部署標準叢集
操作步驟 | 說明 | |
---|---|---|
1 | 準備伺服器環境 | 準備工程節點+負載均衡+狀態伺服器+檔案伺服器+配置庫部署環境 推薦環境:工程部署推薦環境 支援環境:叢集工程部署支援環境 |
2 | 部署外接資料庫 | 部署資料庫,作為工程的外接資料庫備用 支援的資料庫類型請參考:配置外接資料庫 |
3 | 部署負載均衡 | 部署負載均衡,推薦Nginx 詳情請參見:Linux 系統安裝配置 Nginx |
4 | 部署狀態伺服器 | 部署狀態伺服器,推薦使用Redis單機 |
5 | 部署檔案伺服器 | 部署檔案伺服器,優先推薦SFTP 推薦級別:SFTP≈MinIO>NFS>FTP≈HDFS |
6 | 部署工程節點 | 部署一個工程節點 部署方法請參考單機部署的「部署包部署」或「獨立部署」 |
7 | 配置開啟叢集 | 1)單節點叢集配置: 為該配置外接資料庫:配置外接資料庫 將主節點與狀態伺服器+檔案伺服器相連結 設定通訊協定 啟動叢集,重啟工程 2)多節點叢集配置: 部署其他工程節點 將第一個節點的webroot工程檔案copy到其他工程節點 啟動其他工程節點 詳情請參見:Linux系統手動配置標準叢集 |
8 | 配置負載均衡 | 1)參考文檔修改nginx.conf檔案:Linux系統安裝配置Nginx 2)重啟Nginx組件。 |
9 | 後續操作 | 1)參考文檔提高產品安全性:產品安全加固指導手冊 2)參考文檔提高維運穩定性:維運監視指導手冊 3)建議為叢集配置維運平台工具:維運平台 |
叢集方案三:手動部署高可用叢集
操作步驟 | 說明 | |
---|---|---|
1 | 準備伺服器環境 | 準備工程節點+負載均衡+狀態伺服器+檔案伺服器+配置庫部署環境 推薦環境:工程部署推薦環境 支援環境:叢集工程部署支援環境 |
2 | 部署外接資料庫 | 部署資料庫,作為工程的外接資料庫備用,優先推薦高可用主備模式資料庫 支援的資料庫類型請參考:配置外接資料庫 |
3 | 部署負載均衡 | 部署負載均衡,推薦Keepalived+Nginx 詳情請參見:Keepalived+Nginx |
4 | 部署狀態伺服器 | 部署狀態伺服器,推薦使用Redis叢集 |
5 | 部署檔案伺服器 | 部署檔案伺服器,優先推薦NFS 推薦級別:SFTP≈MinIO>NFS>FTP≈HDFS |
6 | 部署工程節點 | 部署一個工程節點 部署方法請參考單機部署的「部署包部署」或「獨立部署」 部署後先不啟動這些工程節點 |
7 | 配置開啟叢集 | 1)單節點叢集配置: 為該配置外接資料庫:配置外接資料庫 將主節點與狀態伺服器+檔案伺服器相連結 設定通訊協定 啟動叢集,重啟工程 2)多節點叢集配置: 部署其他工程節點 將第一個節點的webroot工程檔案copy到其他工程節點 啟動其他工程節點 詳情請參見:Linux系統手動配置高可用叢集 |
8 | 配置負載均衡 | 1)參考文檔修改nginx.conf檔案:Linux系統安裝配置Nginx 2)重啟Nginx組件。 |
9 | 後續操作 | 1)參考文檔提高產品安全性:產品安全加固指導手冊 2)參考文檔提高維運穩定性:維運監視指導手冊 3)建議為叢集配置維運平台工具:維運平台 |
其他部署方式擴展閱讀
中間軟體類型 | 部署參考文檔 |
---|---|
Windows下Tomcat | Windows下Tomcat伺服器部署包 |
Windows下Tomcat獨立部署 | |
Windows下Tomcat嵌入式部署 | |
WebLogic | WebLogic 伺服器資料夾部署 |
WebLogic 伺服器 war 包部署 | |
WebSphere | WebSphere8.5 伺服器部署 |
JBoss | JBoss6.4 伺服器部署 |
Resin | Resin 伺服器的部署 |