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