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