為滿足多類型客戶的使用訴求,FineDataLink支援多種部署方式,支援獨立部署、叢集部署、容器化部署。
本文簡單介紹不同部署內容和部署方式的差別及優劣勢。
注:僅獨立部署時,支援部署FineDataLink叢集。
單機
就是一個部署好的工程。
叢集
叢集(cluster)就是將多個相同的工程集中起來提供同一種服務,這些單個的工程就是叢集的節點(node)。
基於叢集的橫向擴展性,使用者可透過增加節點數量使併發趨於線性增長,進而獲得較高的併發支撐效能。
同時也可以用多個工程做備份,避免單機不可用導致系統停止造成的損失(業務中斷、資料丟失),確定系統 7*24h 穩定運作。
FineDataLink 叢集具有高可用性、高效能、易於管理、可伸縮性和安全保障等優點:
系統具備容災熱備能力
帆軟叢集透過叢集節點、負載均衡器、狀態伺服器等多個組件協同工作,有多個節點來分擔處理請求的負荷。
使用 FineDataLink 產品時,面對可能導致系統當機的異常情況,系統本身有一定的容災能力,能夠保證資料的同步和處理持續不間斷,應對可能出現的區域性節點當機、停機問題。
提高任務併發運作能力
帆軟叢集允許平行處理多個定時和管道任務,透過多個節點進而實現任務的分散式處理,以及在使用資料服務時,分散某些請求頻次比較高的API。
使用 FineDataLink 產品時,在任務處理任務比較多的情況下,能透過增加節點數來提升任務的併發運作能力,進而提高整體的效能。
注:定時任務的最小運作儲存格是節點,任務執行時會生成一個任務實體,任務實體內包含多個待運作節點。管道任務的最小運作儲存格是管道任務實體,任務運作時生成一個任務實體,實體內不會再進一步拆分。
高併發邏輯為:將任務實體內的待運作節點均衡地分發到各叢集節點執行,執行順序基於任務內的設計。
帆軟叢集提供了完整的管理平台,包括叢集節點的監視、配置、部署和故障自動修復等功能,可以大大降低叢集維護和維運的難度和風險,幫助企業更好地管理和維護系統。
簡單視覺化配置,80% 的配置都可在平台上完成。
支援熱部署,增加刪除節點無須重啟叢集,只需要copy節點檔案即可。
實時監視各節點的運作狀態,對於節點當機、節點間時間不一致等情況可以即時進行提醒。
各節點間平台配置資訊和資源檔案修改更新能夠實時同步。
對於節點間JAR包不一致情況,啟動時可自動檢查對比並提醒。
在搭建叢集時,需要注意到這不是一件輕鬆簡單的事情。
為了提供無縫絲滑的服務,必須提高服務品質並組建一個優秀的車隊。
我們需要考慮如何構建一個良好的車隊,這是叢集架構需要解決的問題。
叢集節點就是一輛輛出租車。
當某個出租車出現了故障,會自動安排其他出租車來代替它的工作,以確定整個車隊仍然正常工作。
帆軟叢集設計避免了主節點的概念,只將第一個加入叢集的節點作為基準節點。每個節點都平等地提供服務和進行管理操作。
每個節點都是一個可以獨立運作的工程,負責處理使用者的請求,處理任務和管理其他組件的工作。叢集節點間透過一系列的網路協定和服務進行通訊和協作。
負載均衡就像出租車隊的調度中心,用於協調和分配所有的工作和請求。
在接待客戶時,負載均衡作為統一入口,負責對接客戶,不需要讓客戶一個個查詢司機。
在叢集中,負載均衡用於分配任務到各個節點上,使它們能夠更高效地工作。
負載均衡器會在所有節點之間平衡負載,確定每個節點的web端請求都分配到足夠的任務並保持忙碌狀態。
保證調度端,即定時任務、管道任務內節點的執行調度的高可用性和高併發。
任務節點調度任務在單個工程節點出現故障時,轉移至其他正常節點保證正常使用;同時將任務實體均衡地分發到各叢集節點執行,確定多個調度任務能同時正常運作。
配置庫,即外接資料庫FineDB,類似於出租車隊的車管所。
它儲存並維護所有車輛和司機的資訊,為每個司機提供相同的車輛裝飾、報價、出行路線等資訊。讓每一輛車都給顧客提供一致的出行體驗。
在叢集中,配置庫用於儲存和維護所有節點的配置資訊和參數,這些參數是為了使叢集節點協調工作而必須合理設定的。
保證 web 端高併發,基於負載均衡配置的轉發邏輯,將使用者的請求均衡地分發到各個節點進行回應,包括:
使用者使用平台的請求
資料服務的API請求
它儲存所有與車隊相關的檔案,包括車輛維護記錄、保險單、車輛位置資料等。
在叢集中,檔案伺服器用於儲存和共享叢集中所需的檔案和資料資源,以確定每個節點都可以存取並使用它們。
帆軟叢集的架構非常靈活,可以根據不同的業務需求和特點進行配置。想要開啟叢集必須至少滿足以下條件:
1)有1個以上工程節點
2)節點配置了外接資料庫
3)節點配置了狀態伺服器
4)如果有2個以上工程節點,則必須配置檔案伺服器
5)節點配置了 Nacos 服務註冊中心
FineDataLink 4.0.27 及以上版本支援資料開發使用叢集;
FineDataLink 4.0.30 及以上版本支援資料管道、資料服務使用叢集;
支援獨立部署的 FineDataLink 工程作為叢集的工程節點;不支援和 FineReport 、FineBI 工程作為節點共同組成叢集。
傳統部署:
使用者可以自行準備部署包,搭建最普通的工程架構,即「FineDataLink工程+jdk環境+tomcat中間軟體」
容器化部署:
將應用“容器化”的程式,就是讓應用能夠運作在 Docker 容器或類似技術中,它們能將作業系統環境和應用封裝在一起(完整的系統鏡像)。
由於容器能給應用提供近似於完整系統的環境,這就為在不修改,或者少量修改應用的情況下,對應用的部署進行現代化改造提供了一種思路。
這也是應用的架構持續能保持“雲友好”的基礎。
相比於傳統部署架構,容器化部署可大幅降低客戶的維護成本和資源成本。
1)維護成本低
每個工程的環境相互隔離,出現異常時影響範圍小。
升級、災備、回滾方便。
2)資源成本低
多叢集管理、多租戶、微服務化,更高資源使用率。
資源彈性伸縮。
容器在整個應用程式生命週期工作流中提供以下優點:隔離性、可攜性、靈活性、可伸縮性和可控性。
最重要的優點是可在開發和營運之間提供隔離。
需要自行手動修改 Tomcat 配置檔案或其他容器對應配置檔案
大部分使用者可能不會完全配置,導致後續業務上出現異常
預設已經在鏡像中配置好了常用的所有jvm參數,避免大多jvm參數造成的問題
yaml檔案中可以單獨配置Xmx記憶體上限
需要單獨安裝 Nginx 或其他負載軟體,並進行轉發配置
存在使用者可能缺少很多配置,導致某些業務出現異常
可以根據需要配置keepalived+nginx的高可用架構
一鍵部署時,預設自動安裝好nginx且已自動配置好(不支援其他負載)
避免因客戶自行配置錯誤或缺失導致的問題
強制要求所有節點的磁碟空間和記憶體
防止在不適合的硬體環境中部署工程,埋下隱患
沒限制,所有產品支援的組件都可以配置
同時支援mysql、redis和minio的部署
支援 amd64 架構的 Linux 系統
centos7.3 以下版本不支援
ubuntu18 以下版本不支援
防止因作業系統版本過低,導致工程運作出現問題
必須開放所有節點所有組件使用的埠,否則無法部署
確定不因埠問題導致工程運作異常
不配置外置庫和其他組件的情況,上傳部署包直接啟動即可
否則需要單獨配置外置庫和組件以及需要的環境、如jdk
支援在yaml檔案中配置相關節點和組件資訊後部署
支援透過yaml檔案配置使用者原有的組件
普通使用者需要sudo權限(已經安裝好docker,且使用者屬於docker使用者組則無需權限)
cp
tar
rm
groupadd
gpasswd
groups
dockerd
systemctl(docker服務開機自啟需要,不強制)
Linux 系統下的相關操作命令等詳情參見:
Linux常用命令、
Linux系統安裝中文語言包
Linux防火牆使用及配置
若部署後需要進行升級或者其他系統維運操作時,可查看 FineDataLink 目錄結構瞭解部署工程的後台目錄檔案
詳情參見:FineDataLink安裝目錄結構
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙