999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

分布式微服務(wù)應(yīng)用系統(tǒng)架構(gòu)設(shè)計(jì)與實(shí)踐

2022-12-06 09:05:16陳英達(dá)楊春松聶維
微型電腦應(yīng)用 2022年11期
關(guān)鍵詞:數(shù)據(jù)庫服務(wù)系統(tǒng)

陳英達(dá),楊春松,聶維

(1.南方電網(wǎng)數(shù)字電網(wǎng)集團(tuán)有限公司,廣東,廣州 510000;2.國電南瑞科技股份有限公司,江蘇,南京 210000;3.潤和軟件股份有限公司,江蘇,南京 210000)

0 引言

隨著近幾年業(yè)務(wù)數(shù)字化建設(shè)的迅猛發(fā)展,基于傳統(tǒng)單體架構(gòu)的應(yīng)用系統(tǒng)已無法及時(shí)響應(yīng)業(yè)務(wù)的快速變化。為實(shí)現(xiàn)電力業(yè)務(wù)可持續(xù)發(fā)展,完成從傳統(tǒng)應(yīng)用系統(tǒng)向新一代數(shù)字化互聯(lián)網(wǎng)應(yīng)用的轉(zhuǎn)型,某電網(wǎng)公司(以下簡稱公司)于2019年在《數(shù)字化轉(zhuǎn)型和數(shù)字電網(wǎng)建設(shè)行動方案》中提出了基于公司云平臺,采用微服務(wù)架構(gòu)建設(shè)新業(yè)務(wù)系統(tǒng)、改造存量業(yè)務(wù)系統(tǒng)的目標(biāo),從而提升業(yè)務(wù)應(yīng)用的服務(wù)化水平,支撐企業(yè)數(shù)字化轉(zhuǎn)型和數(shù)字電網(wǎng)建設(shè)戰(zhàn)略的落地[1]。

現(xiàn)階段,公司正積極推進(jìn)微服務(wù)應(yīng)用建設(shè)及改造工作,前期已選型采用SpringCloud架構(gòu)作為微服務(wù)技術(shù)框架并構(gòu)建了集中式微服務(wù)應(yīng)用系統(tǒng)架構(gòu)[2]。但隨著各類業(yè)務(wù)系統(tǒng)的部署從省地二級向網(wǎng)省地一級的集約化模式轉(zhuǎn)變收攏,業(yè)務(wù)應(yīng)用的微服務(wù)架構(gòu)體系逐步由省級集中式(各分省自行部署與管理)擴(kuò)展至覆蓋網(wǎng)級、省級、地市級的分布式(網(wǎng)級總部統(tǒng)管,全網(wǎng)分布式部署),一些關(guān)鍵性技術(shù)問題也逐漸暴露并亟待解決,主要體現(xiàn)在以下兩方面:

(1) 注冊中心服務(wù)節(jié)點(diǎn)存在高負(fù)載風(fēng)險(xiǎn)。隨著業(yè)務(wù)規(guī)模不斷增長,當(dāng)服務(wù)實(shí)例數(shù)量達(dá)到一定量級時(shí),注冊中心負(fù)載壓力開始顯現(xiàn),進(jìn)而影響微服務(wù)應(yīng)用的運(yùn)行性能。

(2) 業(yè)務(wù)數(shù)據(jù)爆炸式增長,數(shù)據(jù)庫讀寫性能下降。自微服務(wù)應(yīng)用開展分布式架構(gòu)建設(shè)以來,業(yè)務(wù)數(shù)據(jù)量急劇增加,導(dǎo)致數(shù)據(jù)庫出現(xiàn)讀寫性能下降、索引效率低、備份和恢復(fù)耗時(shí)長等問題。

為解決上述問題,本文提出了一種基于SpringCloud和MyCat技術(shù)棧的分布式微服務(wù)應(yīng)用系統(tǒng)通用技術(shù)架構(gòu),并實(shí)現(xiàn)了注冊中心動態(tài)擴(kuò)縮容與數(shù)據(jù)分片等關(guān)鍵技術(shù),為公司分布式微服務(wù)應(yīng)用架構(gòu)的轉(zhuǎn)型提供了有效技術(shù)支撐。

1 分布式微服務(wù)應(yīng)用系統(tǒng)技術(shù)架構(gòu)

在公司已有的集中式微服務(wù)架構(gòu)體系基礎(chǔ)上,開展分布式微服務(wù)應(yīng)用系統(tǒng)技術(shù)架構(gòu)的研究。通過構(gòu)建該技術(shù)架構(gòu),深入分析技術(shù)架構(gòu)體系中各技術(shù)組件之間的協(xié)同關(guān)系,支撐分布式微服務(wù)應(yīng)用的落地實(shí)現(xiàn)與高效運(yùn)行。

分布式微服務(wù)應(yīng)用系統(tǒng)技術(shù)架構(gòu)由分布式微服務(wù)總線與微服務(wù)分布式數(shù)據(jù)總線兩大技術(shù)棧構(gòu)成,如圖1所示。各類分布式微服務(wù)掛載在分布式微服務(wù)總線與微服務(wù)分布式數(shù)據(jù)總線上,分布式微服務(wù)總線SpringCloud提供服務(wù)注冊、發(fā)現(xiàn)、配置、調(diào)用及監(jiān)控等微服務(wù)治理功能[3],微服務(wù)分布式數(shù)據(jù)總線MyCat提供微服務(wù)的分布式數(shù)據(jù)管理與持久化功能。

圖1 分布式微服務(wù)應(yīng)用系統(tǒng)技術(shù)架構(gòu)

1.1 分布式微服務(wù)總線

分布式微服務(wù)總線按功能層次分為接入模塊、基礎(chǔ)模塊與支撐模塊。

接入模塊用于實(shí)現(xiàn)外部應(yīng)用對微服務(wù)內(nèi)部的安全接入訪問,技術(shù)組件包括Nginx負(fù)載均衡、API網(wǎng)關(guān)、JWT認(rèn)證、OAuth2授權(quán)以及Security攻擊防護(hù)等。Nginx負(fù)載均衡用于實(shí)現(xiàn)對API網(wǎng)關(guān)服務(wù)器的負(fù)載均衡選擇[6];API網(wǎng)關(guān)為外部訪問調(diào)用微服務(wù)提供統(tǒng)一入口;JWT 用于認(rèn)證用戶的身份信息,認(rèn)證成功后的用戶在請求某個(gè)服務(wù)前,通過OAuth2授權(quán)得到訪問令牌,再經(jīng)API網(wǎng)關(guān)將用戶請求轉(zhuǎn)發(fā)至后臺微服務(wù),并通過路由策略實(shí)現(xiàn)微服務(wù)調(diào)用的動態(tài)路由更新;Security用于保護(hù)微服務(wù)免受XSS攻擊、SQL注入等外部攻擊,實(shí)現(xiàn)微服務(wù)的安全、正常訪問。

基礎(chǔ)模塊用于實(shí)現(xiàn)微服務(wù)的注冊、調(diào)用等功能,技術(shù)組件包括Eureka注冊中心[7]、Ribbon負(fù)載均衡以及Feign服務(wù)調(diào)用等。Eureka提供所有微服務(wù)的統(tǒng)一注冊;微服務(wù)之間通過Feign進(jìn)行聲明式調(diào)用;Feign通過Ribbon負(fù)載均衡從注冊中心獲取目標(biāo)微服務(wù)的服務(wù)器地址列表;在后續(xù)網(wǎng)絡(luò)請求過程中,Ribbon會以負(fù)載均衡的方式把微服務(wù)調(diào)用請求分?jǐn)傊敛煌⒎?wù)實(shí)例上。

支撐模塊用于實(shí)現(xiàn)微服務(wù)的配置、監(jiān)控等功能,技術(shù)組件包括Apollo配置中心、Elastic-Job任務(wù)管理、RabbitMQ消息隊(duì)列、Hystrix與SpringBootAdmin應(yīng)用服務(wù)監(jiān)管中心以及ELK(Elasticsearch、Logstash、Kibana)日志監(jiān)控等。Apollo配置中心為微服務(wù)提供動態(tài)配置信息的統(tǒng)一管理;Elastic-Job實(shí)現(xiàn)分布式微服務(wù)的全局任務(wù)調(diào)度;RabbitMQ完成分布式微服務(wù)應(yīng)用系統(tǒng)之間的異步通信;Hystrix進(jìn)行微服務(wù)應(yīng)用的限流熔斷處理;SpringBootAdmin用于監(jiān)視與管理微服務(wù)應(yīng)用程序的運(yùn)行狀態(tài);ELK提供分布式微服務(wù)應(yīng)用系統(tǒng)的日志監(jiān)控服務(wù)。

1.2 微服務(wù)分布式數(shù)據(jù)總線

微服務(wù)分布式數(shù)據(jù)總線相關(guān)技術(shù)組件包括MyCat服務(wù)、分布式數(shù)據(jù)庫、Redis分布式緩存以及HDFS分布式文件系統(tǒng)。MyCat服務(wù)集群位于分布式微服務(wù)應(yīng)用及其自身數(shù)據(jù)庫的中間,靈活解耦應(yīng)用與數(shù)據(jù)庫,提供分布式異構(gòu)數(shù)據(jù)庫的訪問與路由,以及分庫分表、讀寫分離、分布式事務(wù)管控等功能;分布式數(shù)據(jù)庫提供數(shù)據(jù)持久化能力;Redis用于實(shí)現(xiàn)數(shù)據(jù)的分布式緩存;HDFS為分布式文件系統(tǒng)提供超大文件管理。

2 分布式微服務(wù)應(yīng)用系統(tǒng)關(guān)鍵技術(shù)

分布式微服務(wù)應(yīng)用系統(tǒng)技術(shù)架構(gòu)中雖然探討了分布式微服務(wù)總線與微服務(wù)分布式數(shù)據(jù)總線的技術(shù)實(shí)現(xiàn)框架及關(guān)聯(lián)關(guān)系,但需結(jié)合各類微服務(wù)應(yīng)用系統(tǒng)的實(shí)際業(yè)務(wù)需求,對架構(gòu)關(guān)鍵技術(shù)點(diǎn)進(jìn)行重點(diǎn)識別梳理與研究分析,并完成定制化創(chuàng)新與改進(jìn)設(shè)計(jì),以解決分布式微服務(wù)應(yīng)用建設(shè)過程中暴露出現(xiàn)的注冊中心高負(fù)載、數(shù)據(jù)庫讀寫性能下降等問題,確保分布式微服務(wù)應(yīng)用系統(tǒng)架構(gòu)能有效支撐應(yīng)用的業(yè)務(wù)需求。

2.1 基于Apollo的Eureka注冊中心動態(tài)擴(kuò)縮容

大規(guī)模分布式微服務(wù)應(yīng)用系統(tǒng)中微服務(wù)數(shù)量龐大,在高并發(fā)情況下,注冊中心作為微服務(wù)治理最基礎(chǔ)的組件,存在高負(fù)載風(fēng)險(xiǎn)[4]。通過采用本文設(shè)計(jì)的注冊中心服務(wù)集群動態(tài)擴(kuò)縮容的方式,實(shí)現(xiàn)多個(gè)微服務(wù)注冊中心實(shí)例協(xié)同運(yùn)行,從而保證注冊中心的高性能,提升微服務(wù)應(yīng)用系統(tǒng)的運(yùn)行能力。在實(shí)際應(yīng)用中,通過Apollo配置中心組件完成Eureka-Server的動態(tài)添加與刪除,從而實(shí)現(xiàn)Eureka注冊中心的自動動態(tài)擴(kuò)縮容。基于Apollo配置管理的Eureka注冊中心動態(tài)擴(kuò)縮容工作原理,如圖2所示。

圖2 基于Apollo配置管理的Eureka注冊中心動態(tài)擴(kuò)縮容工作原理

2.2 基于MyCat的數(shù)據(jù)分片

隨著公司微服務(wù)應(yīng)用部署模式從省級集中式架構(gòu)逐步延伸至網(wǎng)、省、地市的分布式架構(gòu),各類業(yè)務(wù)應(yīng)用系統(tǒng)的復(fù)雜度呈指數(shù)級上升,數(shù)據(jù)量與并發(fā)量也越發(fā)龐大,從而導(dǎo)致數(shù)據(jù)庫服務(wù)器出現(xiàn)數(shù)據(jù)操作開銷大、查詢慢、存儲空間不足等問題[5]。通過采用本文設(shè)計(jì)的基于MyCat的數(shù)據(jù)分片技術(shù),按照業(yè)務(wù)關(guān)聯(lián)程度將存儲于單個(gè)物理單元中的數(shù)據(jù)拆分分片(垂直分片與水平分片相結(jié)合方式進(jìn)行數(shù)據(jù)分庫分表)至數(shù)據(jù)庫集群的各節(jié)點(diǎn)上,以分?jǐn)倖蝹€(gè)物理數(shù)據(jù)庫的讀寫壓力,突破數(shù)據(jù)庫在分布式微服務(wù)架構(gòu)中的瓶頸。以公司統(tǒng)一服務(wù)平臺的數(shù)據(jù)分片為例,基于MyCat的數(shù)據(jù)分片工作原理如圖3所示。

3 分布式微服務(wù)應(yīng)用系統(tǒng)架構(gòu)實(shí)踐

分布式微服務(wù)應(yīng)用系統(tǒng)架構(gòu)體系自發(fā)布上線以來,已在公司電網(wǎng)管理平臺、統(tǒng)一服務(wù)平臺等多個(gè)微服務(wù)重點(diǎn)項(xiàng)目中得到了應(yīng)用實(shí)踐,有效增強(qiáng)了分布式微服務(wù)應(yīng)用系統(tǒng)的可用性以及穩(wěn)定性,大幅提升了系統(tǒng)性能。

(1) 提高應(yīng)用系統(tǒng)運(yùn)行性能。針對分布式微服務(wù)應(yīng)用系統(tǒng)中訪問壓力較大的微服務(wù),在服務(wù)注冊中心集群和配置中心集群等組件的協(xié)同配合下,實(shí)現(xiàn)了微服務(wù)多實(shí)例的自動化彈性伸縮部署,進(jìn)而提高應(yīng)用系統(tǒng)的整體運(yùn)行性能。以公司電網(wǎng)管理平臺為例,經(jīng)過分布式微服務(wù)應(yīng)用系統(tǒng)架構(gòu)改造后,200并發(fā)量下的TPS(每秒處理事務(wù)數(shù),Transactions Per Second)數(shù)值從改造前的7 600提升至13 000,平均響應(yīng)時(shí)間從改造前的135 ms降低至22 ms。

(2) 降低數(shù)據(jù)庫壓力。利用微服務(wù)分布式數(shù)據(jù)總線上的數(shù)據(jù)分片技術(shù),可有效解決分布式微服務(wù)系統(tǒng)中數(shù)據(jù)庫擴(kuò)展能力有限、數(shù)據(jù)庫響應(yīng)變慢等問題,在滿足分布式事務(wù)一致性的前提下,提升了響應(yīng)連接數(shù),降低數(shù)據(jù)庫負(fù)載壓力,如公司統(tǒng)一服務(wù)平臺,在并發(fā)量為1 000的情況下,數(shù)據(jù)傳輸速率提高約20%。

4 總結(jié)

本文針對分布式微服務(wù)應(yīng)用建設(shè)過程中暴露出現(xiàn)的注冊中心高負(fù)載與數(shù)據(jù)庫讀寫性能下降等問題,提出了一種基于SpringCloud分布式微服務(wù)總線與MyCat微服務(wù)分布式數(shù)據(jù)總線的分布式微服務(wù)應(yīng)用系統(tǒng)通用技術(shù)架構(gòu),并研究設(shè)計(jì)了注冊中心動態(tài)擴(kuò)縮容與數(shù)據(jù)分片等關(guān)鍵技術(shù)。該架構(gòu)體系有效提升了分布式微服務(wù)應(yīng)用系統(tǒng)的可用性、可靠性以及穩(wěn)定性,并大幅提高了系統(tǒng)運(yùn)行性能,為公司數(shù)字化轉(zhuǎn)型提供有力支撐。

圖3 統(tǒng)一服務(wù)平臺中基于MyCat的數(shù)據(jù)分片工作原理

猜你喜歡
數(shù)據(jù)庫服務(wù)系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
招行30年:從“滿意服務(wù)”到“感動服務(wù)”
商周刊(2017年9期)2017-08-22 02:57:56
數(shù)據(jù)庫
數(shù)據(jù)庫
主站蜘蛛池模板: 91久久性奴调教国产免费| 国产又黄又硬又粗| 日韩一区二区在线电影| 国产导航在线| 亚洲午夜福利精品无码不卡| 成人精品亚洲| 国产不卡国语在线| 88国产经典欧美一区二区三区| 久久午夜夜伦鲁鲁片无码免费| 国产精品浪潮Av| 亚洲精品视频网| 91国语视频| 精品国产欧美精品v| 最新无码专区超级碰碰碰| 国产综合欧美| 国产h视频免费观看| 亚洲av色吊丝无码| 国产成人综合在线观看| 97成人在线视频| 国模私拍一区二区| 精品精品国产高清A毛片| 狠狠综合久久久久综| 久久中文无码精品| 国产剧情国内精品原创| 国产永久无码观看在线| 国产精品亚洲片在线va| 最新国语自产精品视频在| 亚洲AV无码久久天堂| 久久国产高清视频| 成人午夜视频网站| 久久久久久尹人网香蕉| 综合网天天| 日韩高清欧美| 欧美日韩高清| 日本爱爱精品一区二区| 91午夜福利在线观看| 国产亚洲精久久久久久无码AV| 香蕉在线视频网站| 九色视频最新网址| 午夜精品一区二区蜜桃| 人妻熟妇日韩AV在线播放| 2021最新国产精品网站| 日韩专区第一页| 中文字幕1区2区| 在线色国产| 日韩专区欧美| 中文字幕在线永久在线视频2020| 国产视频a| 十八禁美女裸体网站| 国产成人h在线观看网站站| 亚洲成肉网| 欧美黄网站免费观看| 久热这里只有精品6| 亚洲中文字幕在线一区播放| 色吊丝av中文字幕| 中文字幕在线不卡视频| 久久久久夜色精品波多野结衣| 国产美女视频黄a视频全免费网站| 国产对白刺激真实精品91| 在线免费观看AV| 日本午夜在线视频| 国产一级精品毛片基地| 欧美一区日韩一区中文字幕页| 欧美精品另类| 在线看国产精品| 日韩欧美国产区| 色综合国产| 中国特黄美女一级视频| 国产精品欧美激情| 久热精品免费| 久久国产免费观看| 在线精品亚洲一区二区古装| 色综合中文字幕| 欧美区一区二区三| 国产精品久久久久婷婷五月| 亚洲国产91人成在线| 亚洲日韩精品欧美中文字幕| 色成人亚洲| 在线观看无码a∨| 黄色污网站在线观看| 亚洲精品亚洲人成在线| 一级毛片免费观看久|