微服務(wù)架構(gòu)在智慧能源管理平臺中的應(yīng)用研究
發(fā)布時間:2022-01-15 15:37
隨著我國工業(yè)化和城市化的高速發(fā)展,我國對智慧城市建設(shè)的投入不斷加大。各地區(qū)、各部門建設(shè)積極性很高,能源管理平臺接入的建筑增加,能耗數(shù)據(jù)采集的需求越來越廣。在大數(shù)據(jù)時代的背景下,對平臺數(shù)據(jù)的采集能力、存儲能力、集成能力、共享能力以及挖掘分析能力帶來了巨大的挑戰(zhàn),對系統(tǒng)的架構(gòu)提出了越來越高的要求。如果依然采用傳統(tǒng)單體架構(gòu),系統(tǒng)之間的緊密耦合關(guān)系就無法滿足快速、高效的開發(fā)及擴展模式。通過微服務(wù)架構(gòu)的應(yīng)用,為平臺中的大數(shù)據(jù)提供更有效的支撐,為技術(shù)創(chuàng)新注入新的力量。
【文章來源】:電腦編程技巧與維護. 2020,(11)
【文章頁數(shù)】:3 頁
【部分圖文】:
平臺功能概要圖
圖2是本平臺的微服務(wù)架構(gòu)圖,后端服務(wù)模塊均采用Springboot的Java技術(shù)框架。采用以下組件完成搭建:Nacos服務(wù)注冊、發(fā)現(xiàn)和配置中心,提供統(tǒng)一配置功能;Nginx負載均衡,服務(wù)提供方一般以多實例的形式提供服務(wù),負載均衡能夠讓服務(wù)調(diào)用方連接到合適的服務(wù)節(jié)點;Spring Cloud Gateway服務(wù)網(wǎng)關(guān),服務(wù)調(diào)用的唯一入口,除動態(tài)路由外,還實現(xiàn)了用戶鑒權(quán)、負載限流等功能。Dubbo采用RPC服務(wù)遠程調(diào)用協(xié)議。Sentinel熔斷限流,防止單一服務(wù)的失敗導致整個系統(tǒng)的雪崩效應(yīng)。Kafka分布式事務(wù),對于重要的業(yè)務(wù),通過分布式事務(wù)技術(shù)保證數(shù)據(jù)的一致性;贒ocker服務(wù)集群對微服務(wù)進行部署。Sky Walking鏈路追蹤,記錄完成一個業(yè)務(wù)邏輯時調(diào)用到的微服務(wù),并將這種串行或并行的調(diào)用關(guān)系展示出來。ELK日志管理跟蹤:日志監(jiān)控包括應(yīng)用程序日志和系統(tǒng)日志。通過分析平臺所包含的功能模塊,將具有共性的部分抽取出來,再將各個功能模塊盡可能小地劃分。最終分成8個不同微服務(wù):所有服務(wù)依賴的API網(wǎng)關(guān)服務(wù)、登錄鑒權(quán)服務(wù)、權(quán)限菜單管理服務(wù)、基礎(chǔ)信息服務(wù)、項目類服務(wù)、能耗報警設(shè)置服務(wù)、動態(tài)數(shù)據(jù)展示相關(guān)服務(wù)、BIM模型展示服務(wù)。
使用Nacos使得微服務(wù)的發(fā)現(xiàn)、配置管理、服務(wù)治理更加便捷和簡化。它提供對服務(wù)的實時健康檢查,阻止向不健康的主機或服務(wù)實例發(fā)送請求。在每個服務(wù)啟動時會向服務(wù)發(fā)現(xiàn)中心上報自己的網(wǎng)絡(luò)位置。在服務(wù)發(fā)現(xiàn)中心內(nèi)部會形成一個服務(wù)注冊表,服務(wù)注冊表是服務(wù)發(fā)現(xiàn)的核心部分,包含所有服務(wù)實例的網(wǎng)絡(luò)地址的數(shù)據(jù)庫。服務(wù)發(fā)現(xiàn)客戶端會定期從服務(wù)發(fā)現(xiàn)中心同步服務(wù)注冊表,并緩存在客戶端。當需要對某服務(wù)進行請求時,服務(wù)實例通過該注冊表,定位目標服務(wù)網(wǎng)絡(luò)地址。若目標服務(wù)存在多個網(wǎng)絡(luò)地址,則使用負載均衡算法從多個服務(wù)實例中選擇出一個,然后發(fā)出請求。如圖3所示。4 結(jié)語
【參考文獻】:
期刊論文
[1]一種微服務(wù)框架的實現(xiàn)[J]. 張晶,王琰潔,黃小鋒. 計算機系統(tǒng)應(yīng)用. 2017(04)
[2]微服務(wù)框架介紹與實現(xiàn)[J]. 黃小鋒,張晶. 電腦與信息技術(shù). 2016(06)
[3]Spring Boot研究和應(yīng)用[J]. 王永和,張勁松,鄧安明,周智勛. 信息通信. 2016(10)
本文編號:3590876
【文章來源】:電腦編程技巧與維護. 2020,(11)
【文章頁數(shù)】:3 頁
【部分圖文】:
平臺功能概要圖
圖2是本平臺的微服務(wù)架構(gòu)圖,后端服務(wù)模塊均采用Springboot的Java技術(shù)框架。采用以下組件完成搭建:Nacos服務(wù)注冊、發(fā)現(xiàn)和配置中心,提供統(tǒng)一配置功能;Nginx負載均衡,服務(wù)提供方一般以多實例的形式提供服務(wù),負載均衡能夠讓服務(wù)調(diào)用方連接到合適的服務(wù)節(jié)點;Spring Cloud Gateway服務(wù)網(wǎng)關(guān),服務(wù)調(diào)用的唯一入口,除動態(tài)路由外,還實現(xiàn)了用戶鑒權(quán)、負載限流等功能。Dubbo采用RPC服務(wù)遠程調(diào)用協(xié)議。Sentinel熔斷限流,防止單一服務(wù)的失敗導致整個系統(tǒng)的雪崩效應(yīng)。Kafka分布式事務(wù),對于重要的業(yè)務(wù),通過分布式事務(wù)技術(shù)保證數(shù)據(jù)的一致性;贒ocker服務(wù)集群對微服務(wù)進行部署。Sky Walking鏈路追蹤,記錄完成一個業(yè)務(wù)邏輯時調(diào)用到的微服務(wù),并將這種串行或并行的調(diào)用關(guān)系展示出來。ELK日志管理跟蹤:日志監(jiān)控包括應(yīng)用程序日志和系統(tǒng)日志。通過分析平臺所包含的功能模塊,將具有共性的部分抽取出來,再將各個功能模塊盡可能小地劃分。最終分成8個不同微服務(wù):所有服務(wù)依賴的API網(wǎng)關(guān)服務(wù)、登錄鑒權(quán)服務(wù)、權(quán)限菜單管理服務(wù)、基礎(chǔ)信息服務(wù)、項目類服務(wù)、能耗報警設(shè)置服務(wù)、動態(tài)數(shù)據(jù)展示相關(guān)服務(wù)、BIM模型展示服務(wù)。
使用Nacos使得微服務(wù)的發(fā)現(xiàn)、配置管理、服務(wù)治理更加便捷和簡化。它提供對服務(wù)的實時健康檢查,阻止向不健康的主機或服務(wù)實例發(fā)送請求。在每個服務(wù)啟動時會向服務(wù)發(fā)現(xiàn)中心上報自己的網(wǎng)絡(luò)位置。在服務(wù)發(fā)現(xiàn)中心內(nèi)部會形成一個服務(wù)注冊表,服務(wù)注冊表是服務(wù)發(fā)現(xiàn)的核心部分,包含所有服務(wù)實例的網(wǎng)絡(luò)地址的數(shù)據(jù)庫。服務(wù)發(fā)現(xiàn)客戶端會定期從服務(wù)發(fā)現(xiàn)中心同步服務(wù)注冊表,并緩存在客戶端。當需要對某服務(wù)進行請求時,服務(wù)實例通過該注冊表,定位目標服務(wù)網(wǎng)絡(luò)地址。若目標服務(wù)存在多個網(wǎng)絡(luò)地址,則使用負載均衡算法從多個服務(wù)實例中選擇出一個,然后發(fā)出請求。如圖3所示。4 結(jié)語
【參考文獻】:
期刊論文
[1]一種微服務(wù)框架的實現(xiàn)[J]. 張晶,王琰潔,黃小鋒. 計算機系統(tǒng)應(yīng)用. 2017(04)
[2]微服務(wù)框架介紹與實現(xiàn)[J]. 黃小鋒,張晶. 電腦與信息技術(shù). 2016(06)
[3]Spring Boot研究和應(yīng)用[J]. 王永和,張勁松,鄧安明,周智勛. 信息通信. 2016(10)
本文編號:3590876
本文鏈接:http://sikaile.net/kejilunwen/sgjslw/3590876.html
最近更新
教材專著