亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種分布式微服務(wù)架構(gòu)系統(tǒng)緩存解決方案

        2020-02-22 03:35:44李寧張軼昀
        電腦知識(shí)與技術(shù) 2020年36期
        關(guān)鍵詞:微服務(wù)

        李寧 張軼昀

        摘要:該文敘述了一種基于微服務(wù)架構(gòu)的分布式系統(tǒng)雙緩存解決方案,經(jīng)過實(shí)踐,該方案對(duì)分布式系統(tǒng)中大數(shù)據(jù)量參數(shù)查詢交易產(chǎn)生了良好的性能提升作用。

        關(guān)鍵詞:微服務(wù);應(yīng)用緩存;公共緩存

        中圖分類號(hào):TP393? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

        文章編號(hào):1009-3044(2020)36-0073-02

        Abstract: This article describes a distributed system double cache solution based on microservice architecture. Through practice, the scheme has a good performance improvement on the query transaction of a large amount of data in a distributed system.

        Key words: microservice; application cache; public cache

        前后端分離的設(shè)計(jì)方案,有效提高了系統(tǒng)的開發(fā)效率,同時(shí)使得微服務(wù)架構(gòu)中的服務(wù)共享成為可能,目前正在成為主流系統(tǒng)開發(fā)架構(gòu)之一。本文基于銀行財(cái)會(huì)綜合管理系統(tǒng),討論一種基于微服務(wù)架構(gòu)的分布式系統(tǒng)緩存解決方案[1]。

        財(cái)會(huì)綜合管理系統(tǒng)由公共應(yīng)用、核算會(huì)計(jì)、管理會(huì)計(jì)、預(yù)算、估值、合同等十幾個(gè)子系統(tǒng)構(gòu)成。各個(gè)子系統(tǒng)均采用前后端分離架構(gòu),SpringBoot開發(fā),系統(tǒng)部署及數(shù)據(jù)庫均相互獨(dú)立。為使用戶對(duì)分布式無感,所有子系統(tǒng)進(jìn)行了統(tǒng)一的微服務(wù)發(fā)現(xiàn)中心地址配置。如圖1所示:前端發(fā)起的交易,通過統(tǒng)一網(wǎng)關(guān),交易碼被轉(zhuǎn)換為微服務(wù)識(shí)別碼,經(jīng)微服務(wù)發(fā)現(xiàn)中心轉(zhuǎn)發(fā)到對(duì)應(yīng)的后臺(tái)服務(wù)器,后臺(tái)響應(yīng)報(bào)文原路反向回傳前端。系統(tǒng)主要使用了擴(kuò)展的Spring Cloud注解,Eureka服務(wù)注冊(cè)發(fā)現(xiàn)組件(服務(wù)注冊(cè)發(fā)現(xiàn)、服務(wù)續(xù)約、獲取注冊(cè)列表信息、服務(wù)下線、服務(wù)剔除)、Ribbon負(fù)載均衡組件、Feign面向接口調(diào)用組件、Zuul微服務(wù)應(yīng)用網(wǎng)關(guān)組件、Hystrix斷路器組件、Sleuth全鏈路采集組件、Redis緩存集群以及接口描述組件Swagger。應(yīng)用系統(tǒng)鏡像使用K8S部署。

        除公共應(yīng)用外,其他子系統(tǒng)均有自己明確的業(yè)務(wù)屬性及交易特點(diǎn)。公共應(yīng)用為所有登錄子系統(tǒng)的用戶提供統(tǒng)一鑒權(quán)、會(huì)話保持、權(quán)限控制以及公共參數(shù)的取用。公共參數(shù)主要包括機(jī)構(gòu)數(shù)據(jù)、員工數(shù)據(jù)、用戶數(shù)據(jù)、財(cái)會(huì)產(chǎn)品、會(huì)計(jì)科目、匯率等適用于全平臺(tái)的基礎(chǔ)數(shù)據(jù)。各個(gè)子系統(tǒng)與公共應(yīng)用間存在大量的參數(shù)查詢交易。例如財(cái)會(huì)產(chǎn)品維護(hù)時(shí),產(chǎn)品所屬部門、所屬科目數(shù)據(jù)在子系統(tǒng)僅保存ID號(hào),查詢反顯時(shí)需要從公共應(yīng)用查詢中文名稱。

        微服務(wù)架構(gòu),有效提高了交易的可復(fù)用性,但同時(shí)增加了網(wǎng)絡(luò)損耗。由于財(cái)會(huì)系統(tǒng)數(shù)據(jù)量大,運(yùn)算復(fù)雜的特點(diǎn),大數(shù)據(jù)量的參數(shù)訪問及需要控制用戶權(quán)限的數(shù)據(jù)查詢交易對(duì)整體系統(tǒng)的性能提出挑戰(zhàn)。為了改善系統(tǒng)效率,本系統(tǒng)設(shè)計(jì)并應(yīng)用了一種雙緩存策略。

        所有子系統(tǒng)分別配置應(yīng)用緩存和公共緩存兩組Redis服務(wù)器集群[2]的訪問路徑,每組服務(wù)器內(nèi)部互為三-三主備。應(yīng)用緩存用于存放子系統(tǒng)私有數(shù)據(jù)的緩存信息,由子系統(tǒng)自行搭建。公共緩存由公共應(yīng)用系統(tǒng)搭建,并進(jìn)行寫入與更新,各子系統(tǒng)僅擁有讀權(quán)限。如圖2所示:子系統(tǒng)發(fā)起查詢交易時(shí),先訪問應(yīng)用緩存,如未命中,則訪問公共緩存,仍未命中,才通過面向接口調(diào)用組件Feign,發(fā)起交易,經(jīng)微服務(wù)注冊(cè)中心中轉(zhuǎn)至公共應(yīng)用后臺(tái)服務(wù)。公共應(yīng)用響應(yīng)后,如該查詢交易已配置緩存加載,則會(huì)將本次查詢內(nèi)容加載入公共緩存,緩存Key通常使用邏輯數(shù)據(jù)庫表主鍵或主鍵對(duì)。系統(tǒng)使用SpringBoot注解類并進(jìn)行了擴(kuò)展,使得緩存加載配置僅需為指定的查詢交易添加@Cacheable注解,指定使用的緩存名以及緩存id。

        由于為查詢類交易在緩存未被命中時(shí)添加緩存,緩存未被訪問時(shí)間超過閾值才清除,可能導(dǎo)致動(dòng)賬類交易對(duì)數(shù)據(jù)的修改,在緩存失效前無法被重新加載。對(duì)于一些熱表數(shù)據(jù),可能存在全天駐留緩存的情況,可能產(chǎn)生以下現(xiàn)象:用戶在公共應(yīng)用系統(tǒng)對(duì)機(jī)構(gòu)數(shù)據(jù)進(jìn)行了修改,但由于緩存中存在原數(shù)據(jù),子系統(tǒng)查詢交易依然返回修改前數(shù)據(jù),由此出現(xiàn)緩存臟讀現(xiàn)象。以上情況可以通過兩種方案解決:1)每日批量;2)實(shí)時(shí)刷新。

        為提高緩存命中率,公共應(yīng)用系統(tǒng)每日批量于每天早上5點(diǎn)進(jìn)行參數(shù)預(yù)讀入,先清空緩存,自動(dòng)發(fā)起機(jī)構(gòu)、員工、財(cái)會(huì)參數(shù)等常用數(shù)據(jù)的查詢交易,進(jìn)行緩存預(yù)加載。此舉不僅可以在系統(tǒng)正式服務(wù)時(shí)擁有良好的緩存命中率,且可解決緩存臟讀問題。經(jīng)實(shí)測(cè),系統(tǒng)每日8點(diǎn)正式對(duì)外提供聯(lián)機(jī)服務(wù),日常狀態(tài)下,雙緩存命中率可達(dá)到95%以上。此方法適用于可容忍T+1時(shí)效的系統(tǒng)數(shù)據(jù)。對(duì)于實(shí)時(shí)性要求很高的數(shù)據(jù),如匯率,采用實(shí)時(shí)刷新方式。在修改了該數(shù)據(jù)的動(dòng)賬交易結(jié)束后強(qiáng)制刷新緩存內(nèi)容。出于對(duì)整體性能的考慮,本系統(tǒng)對(duì)交易進(jìn)行分類,綜合運(yùn)用了兩種方法。

        為系統(tǒng)添加雙緩存后,系統(tǒng)的整體性能有了顯著提高。以4000條用戶權(quán)限范圍內(nèi)的機(jī)構(gòu)數(shù)據(jù)下載為例(機(jī)構(gòu)視圖表數(shù)據(jù)量約50萬,每條記錄約50個(gè)屬性,大部分屬性需要子表翻譯),添加緩存前,測(cè)試環(huán)境響應(yīng)時(shí)間約2分鐘,添加緩存后同環(huán)境響應(yīng)時(shí)間降至20s以內(nèi)。

        參考文獻(xiàn):

        [1] 黃向平,彭明田,楊永凱.基于內(nèi)存映射文件的高性能庫存緩存系統(tǒng)[J].電子技術(shù)應(yīng)用,2020,46(7):113-117,126.

        [2] 寧方美,賀雪梅,牟晉娟.SpringBoot集成Redis緩存技術(shù)在企業(yè)一卡通系統(tǒng)中的應(yīng)用[J]. 電子技術(shù)與軟件工程,2019(24):133-134.

        【通聯(lián)編輯:唐一東】

        猜你喜歡
        微服務(wù)
        數(shù)字文化館建設(shè)中的“微服務(wù)”
        基于微服務(wù)架構(gòu)的日志系統(tǒng)
        微服務(wù)架構(gòu)及相應(yīng)云平臺(tái)解析
        基于供給側(cè)改革理論的圖書館社交網(wǎng)絡(luò)微服務(wù)研究
        微信公眾平臺(tái)在醫(yī)院圖書館的應(yīng)用現(xiàn)狀調(diào)查
        基于微信企業(yè)號(hào)的校園移動(dòng)服務(wù)
        微服務(wù)視角下高職圖書館數(shù)字資源使用分析
        中文信息(2016年10期)2016-12-12 10:09:57
        從單一模式系統(tǒng)架構(gòu)往微服務(wù)架構(gòu)遷移轉(zhuǎn)化技術(shù)研究
        基于微信公眾平臺(tái)的高校圖書館微服務(wù)現(xiàn)狀及對(duì)策
        微媒體時(shí)代高校圖書館閱讀推廣微服務(wù)探析
        高清偷自拍第1页| 免费国产在线视频自拍白浆| 美女扒开腿露内裤免费看| 中文字幕一区二区精品视频| 无码国产成人午夜电影在线观看| 人妻丰满熟av无码区hd| 国产产区一二三产区区别在线| 国产精品第一国产精品| 亚洲av综合av国产av| 北条麻妃毛片在线视频| 中文在线8资源库| 亚洲av国产精品色午夜洪2| 人妻去按摩店被黑人按中出| 98在线视频噜噜噜国产| 国产精品无码久久久久久蜜臀AV| 亚洲av网站首页在线观看| 亚洲国产日韩综合天堂| 中文字幕人妻日韩精品 | 日本公与熄乱理在线播放| 曰本女人牲交全视频免费播放 | 久久精品人妻无码一区二区三区| 亚洲产国偷v产偷v自拍色戒| 亚洲精品一区二区三区av| 日韩三级一区二区三区| 成人网站在线进入爽爽爽| 性欧美videofree高清精品| 久久综合给合久久狠狠狠97色69| 毛片无遮挡高清免费久久| 一区二区av日韩免费| 成人在线观看视频免费播放| 日本熟妇人妻xxxx| 欧美中日韩免费观看网站| 欧美白人最猛性xxxxx| 亚洲中文字幕不卡无码| 精品国产av一区二区三四区| 丰满人妻被两个按摩师| 色一情一乱一乱一区99av| 亚洲欧美国产日韩天堂在线视 | 日本高清乱码中文字幕| 无码人妻丰满熟妇区五十路| 亚洲av第一页国产精品|