1 技術方案
1.1 系統架構
1.1.1 架構簡介
互聯網時代的影響已經深入到各行各業,最重要的是從個人業務影響到了企業應用領域,随着未來行業及社會的變遷,會導緻業務急劇的變化,啞資(zī)源管理系統技術上采用微服務架構作爲平台建設的設計思路,在開(kāi)發方法上選擇與之匹配的敏捷開(kāi)發模式,從而實現快速叠代未來的業務需求,從而更能精确通過小(xiǎo)周期叠代調整業務需求的建設思路,确保開(kāi)發的業務需求能真正被應用于實際生(shēng)産管理。
1.1.2 四方物(wù)聯網業務服務平台架構
四方自主研發了基于微服務架構的四方物(wù)聯網業務服務平台Sefon-iBSP(Sefon iot Business service platform ),通過該平台作爲啞資(zī)源管理系統的核心支撐平台,可以保障系統的先進性、可持續性、可靠性安全性、可擴展性、标準化、高性能等能力支撐。
四方物(wù)聯網業務服務平台架構圖
Sefon-iBSP(Sefon iot Business service platform )
四方物(wù)聯網業務服務平台消息邏輯圖
四方物(wù)聯網業務服務平台分(fēn)布式部署示意圖
四方物(wù)聯網業務服務平台統一(yī)數據服務架構圖
四方物(wù)聯網業務服務平台自動化構建、測試、部署流程示意圖
1.1.3 啞資(zī)源管理系統分(fēn)層邏輯架構
啞資(zī)源管理系統基于四方物(wù)聯網業務服務平台的能力上形成的分(fēn)層邏輯架構一(yī)共分(fēn)爲四層,分(fēn)别爲基礎設施服務層、平台基礎服務層、共享服務層、業務應用服務層,其架構圖如下(xià):
啞資(zī)源管理系統分(fēn)層邏輯架構圖
ü 基礎設施服務層
基礎設施服務層主要指的是運行啞資(zī)源管理系統的相關硬件服務器、存儲、數據庫、網絡環境等資(zī)源。
ü 平台基礎服務層
平台基礎服務層主要指是運行啞資(zī)源管理系統需要的平台基礎能力,提供平台的彈性伸縮、可追溯業務流程的全日志(zhì)跟蹤流程、平台高容錯、分(fēn)布式提供的高可靠性、及提供未來大(dà)數據的基礎數據的存儲和管理等能力。
ü 共享服務層
共享服務層主要指是啞資(zī)源管理系統、平台運營服務系統、平台内部管理服務系統(服務治理、日志(zhì)管理、監控告警)等業務層提供其具有共通性的基礎業務服務能力。
ü 業務應用服務層
業務應用服務層主要指基于平台所提供的具體(tǐ)業務應用,對外(wài)如:啞資(zī)源管理系統,對于平台内部如:運營服務系統、服務治理系統、統一(yī)日志(zhì)管理系統、統一(yī)權限管理系統、統一(yī)監控告警系統等。
1.1.4 四方物(wù)聯網業務服務平台架構優勢
1、獨立的可擴展性
平台的每個服務都可以獨立進行橫向或縱向擴展,根據業務實際增長情況來進行快速擴展,真正實現業務服務高内聚、松耦合,極大(dà)滿足複雜(zá)業務未來發展的可擴展性。
2、獨立的可升級性
平台的每個服務都可以獨立進行服務升級、更新,不用依賴于其它服務,結合持續集成工(gōng)具可以進行持續發布,開(kāi)發人員(yuán)就可以獨立快速完成服務升級發布流程,實現部分(fēn)業務能力的增量升級,有效保護現有其他業務服務能力不受幹擾和影響,實現整體(tǐ)平台的可靠性及平滑升級的能力。
3、故障和資(zī)源的隔離(lí)性
若系統中(zhōng)出現不好的資(zī)源操作行爲時,例如内存洩露、數據庫連接未關閉等情況,基于平台分(fēn)布式的能力,此時的故障将僅僅隻會影響單個業務服務,不會影響到系統整體(tǐ)崩潰,導緻業務完全中(zhōng)斷的情況。
4、易維護性
平台每個業務服務的代碼均隻專注于完成該單個業務範疇的事情,因此業務服務項目代碼數量将減少至IDE可以快速加載的大(dà)小(xiǎo),這樣可以提高了代碼的可讀性,進而可以提高研發人員(yuán)日常的生(shēng)産效率,同時也解決了後期系統不斷叠代演進中(zhōng)複雜(zá)度增加以後更易于修改和更替,有效保護系統資(zī)産,極大(dà)的延續平台生(shēng)命力。
5、原生(shēng)基于“雲”的系統架構設計
基于微服務架構設計風格,平台能構建出來原生(shēng)對于“雲”具備超高友好度的系統,與常用容器工(gōng)具如Docker能夠很方便地結合,構建持續發布系統與IaaS、PaaS平台對接,使其能夠方便的部署于各類“雲”上,如公用雲、私有雲以及混合雲。
6、優化跨團隊溝通
按實踐微服務架構設計風格,研發團隊勢必會按照新的原則來進行劃分(fēn),由之前的按照技能、職能劃分(fēn)的方式變爲按照業務(單個業務服務)來進行劃分(fēn),團隊裏将有各個方向技能的研發人員(yuán),溝通效率上來說要優于之前按照技能進行劃分(fēn)的組織架構,并且可以同時實現并行開(kāi)發多個完整的業務服務。
7、語言無關性
研發人員(yuán)可以選用自己最爲熟悉的語言(JAVAC++Python)和框架來完成他們的微服務項目,平台在未來在面對新技術或新框架的選用時,能夠更好地進行快速響應,不受語言技術的限制。