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

        ?

        基于SpringBoot微服務架構(gòu)的城市一卡通手機充值支撐系統(tǒng)研究

        2018-01-23 12:38:19溫曉麗蘇浩偉陳歡鄒大畢
        電子產(chǎn)品世界 2017年10期
        關(guān)鍵詞:體系架構(gòu)微服務

        溫曉麗+蘇浩偉+陳歡+鄒大畢

        摘要:基于微服務架構(gòu)而構(gòu)建的應用系統(tǒng)是將復雜的大系統(tǒng)分解成了一系列小的單獨的子服務系統(tǒng),這些子服務系統(tǒng)可以單獨部署發(fā)布,也可以組合成一個應用發(fā)布。伴隨著移動互聯(lián)網(wǎng)應用的快速發(fā)展,相應的服務系統(tǒng)更新迭代頻繁,采用微服務架構(gòu)之后的系統(tǒng)可以很好地適應移動互聯(lián)網(wǎng)這種需求不斷迭代更新的應用場景。城市一卡通手機充值系統(tǒng)是城市一卡通公司在移動互聯(lián)網(wǎng)領(lǐng)域的應用服務系統(tǒng),同樣地面臨著業(yè)務不斷快速迭代更新的需求,基于此,進行城市一卡通手機充值支撐系統(tǒng)的構(gòu)建過程中采用了基于SpringBoot微服務架構(gòu)的研究是必要和有參考意義的。

        關(guān)鍵詞:交通信息化:手機充值;體系架構(gòu);微服務

        DOI: 10.3969/j.issn.1005-5517.2017.9.014

        引言

        隨著時代的發(fā)展,在信息系統(tǒng)建設方面,傳統(tǒng)IT架構(gòu)面臨著以下一些問題:

        1)使用傳統(tǒng)的整體式架構(gòu)(M。n olithicArchitecture)應用開發(fā)系統(tǒng),如CRM、ERP等大型應用,隨著新需求的不斷增加,企業(yè)更新和修復大型整體式應用變得越來越困難。在系統(tǒng)更新時,往往牽一發(fā)而動全身,稍有不慎就可能帶來大的損失。

        2)隨著移動互聯(lián)網(wǎng)的發(fā)展,企業(yè)被迫將其應用遷移至現(xiàn)代化UI界面架構(gòu)以便能兼容移動設備,這要求企業(yè)能實現(xiàn)應用功能的快速上線,而傳統(tǒng)IT架構(gòu)在系統(tǒng)快速迭代更新方面難度較大。

        3)隨著應用云化的日益普及,生于云端的應用具有與傳統(tǒng)IT不同的技術(shù)基因和開發(fā)運維模式,此時再生搬硬套傳統(tǒng)IT架構(gòu)往往會產(chǎn)生適得其反的效果。

        4)移動互聯(lián)網(wǎng)相關(guān)技術(shù)快速發(fā)展,云計算及互聯(lián)網(wǎng)公司大量開源輕量級技術(shù)不停涌現(xiàn)并日漸成熟,主要為如下幾方面:互聯(lián)網(wǎng)/內(nèi)聯(lián)網(wǎng)/網(wǎng)絡更加成熟,輕量級運行時技術(shù)的出現(xiàn)(node.js等),新的方法與工具(Agile、DevOps、TDD、CI及XP),新的輕量級協(xié)議(RESTful API接口和輕量級消息機制),簡化的基礎設施,操作系統(tǒng)虛擬化(hypervisors)、容器化(Docker)、基礎設施即服務(laaS)、工作負載虛擬化(Kubernetes、Spark)等;服務平臺化(PaaS),云服務平臺上具有自動縮放、工作負載管理、SLA管理、消息機制、緩存、構(gòu)建管理等各種按需使用的服務,新的可替代數(shù)據(jù)持久化模型:如NoSQL、MapReduce、BASE、CQRS等,標準化代碼管理等。

        這一切都催生了新的架構(gòu)設計風格,即微服務架構(gòu)的出現(xiàn)。

        1 微服務架構(gòu)概述

        微服務是一種架構(gòu)風格,一個大型復雜軟件應用由一個或多個微服務組成。系統(tǒng)中的各個微服務可被獨立部署,各個微服務之間是松耦合的。每個微服務僅關(guān)注于完成一件任務并很好地完成該任務。在所有情況下,每個任務代表著一個小的業(yè)務能力。

        微服務具備彈性和伸縮性。微服務不只依賴單個服務器和部署,它們可以被發(fā)布到多個機器上,或者多個數(shù)據(jù)中心及其它任何可用的區(qū)域。如果一個服務失效,可以啟動另外一個。因為整個應用被分解成了微服務(小型服務),可以很容易地對其中某些熱門的服務進行橫向擴展。

        微服務一般會提供基于HTTP/JSON的API端點。這樣可以很容易地與其它服務(開源或閉源的)集成,只要這些服務提供了HTTP/JSON接口。服務可以通過更有意義的方式被消費、被組合。

        1.1 與整體架構(gòu)的比較

        整體架構(gòu)把所有功能都放到一個進程中,如圖1所示,其中每個形狀塊代表一個功能;而微服務架構(gòu)會將不同的功能放置到分離的多個服務進程中,如圖2所示。

        在系統(tǒng)服務能力需要擴展時,采用整體架構(gòu)的系統(tǒng)只能復制整個系統(tǒng)到多個服務器上,如圖3所示:而采用微服務架構(gòu)的系統(tǒng)則僅根據(jù)不同服務的服務負載能力需求來決定復制到多少個服務器上,如圖4所示。

        1.2 微服務架構(gòu)的優(yōu)點

        1)每個服務都比較簡單,只關(guān)注于一個業(yè)務功能;

        2)微服務架構(gòu)方式是松耦合的,可以提供更高的靈活性;

        3)微服務可通過最佳及最合適的不同的編程語言與工具進行開發(fā),能夠做到有的放矢地解決針對性問題:

        4)每個微服務可由不同團隊獨立開發(fā),互不影響,加快推出市場的速度;

        5)微服務架構(gòu)是持續(xù)交付(CD)的巨大推動力,允許在頻繁發(fā)布不同服務的同時保持系統(tǒng)其他部分的可用性和穩(wěn)定性。

        1.3 微服務架構(gòu)的缺點

        微服務的一些想法在實踐上是好的,但當整體實現(xiàn)時也會呈現(xiàn)出其復雜性,主要約束性體現(xiàn)在如下幾個方面:

        1)運維開銷及成本增加:整體應用可能只需部署至一小片應用服務區(qū)集群,而微服務架構(gòu)可能變成需要構(gòu)建/測試部署、運行數(shù)十個獨立的服務,并可能需要支持多種語言和環(huán)境。

        2)代碼重復:某些底層功能需要被多個服務所用,為了避免將“同步耦合引入到系統(tǒng)中”,有時需要向不同服務添加一些代碼,這就會導致代碼重復。

        3)分布式系統(tǒng)的復雜性:作為一種分布式系統(tǒng),微服務引入了復雜性和其他若干問題,例如網(wǎng)絡延遲、容錯性、消息序列化、不可靠的網(wǎng)絡、異步機制、版本化、差異化的工作負載等,開發(fā)人員需要考慮以上的分布式系統(tǒng)問題。

        4)可測性的挑戰(zhàn):在動態(tài)環(huán)境下服務間的交互會產(chǎn)生非常微妙的行為,難以可視化及全面測試。經(jīng)典微服務往往不太重視測試,更多的是通過監(jiān)控發(fā)現(xiàn)生產(chǎn)環(huán)境的異常,進而快速回滾或采取其他必要的行動。但對于特別在意風險規(guī)避監(jiān)管或投產(chǎn)環(huán)境錯誤會產(chǎn)生顯著影響的場景下需要特別注意。

        1.4 哪些應用系統(tǒng)適用微服務架構(gòu)

        1)記錄型系統(tǒng)(System of Record)適用微服務架構(gòu),例如可將大型應用按相對獨立的業(yè)務功能分解成若干個微服務實現(xiàn)。endprint

        2)交互型系統(tǒng)(System of Engagement)也較為適用微服務架構(gòu),例如渠道應用可以應用“后端服務前端”的模式實現(xiàn)。

        3)分析型系統(tǒng)(System of Insight)則不適用于微服務架構(gòu),其適用于其他架構(gòu)模式如管道及過濾模式。

        2 Spring Boot分析

        2.1 Spring Boot概述

        Spring Boot是Java領(lǐng)域中知名的微服務系統(tǒng)構(gòu)架框架,是由Pivotal團隊提供的。基于Spring Boot框架,Java應用程序的構(gòu)建簡單易行。該框架具有以下特點:

        1)簡單的庫依賴管理,基于Maven配置文件,即可實現(xiàn)相關(guān)依賴庫的配置;

        2)自動配置,框架自動負責了大部分常規(guī)的配置,開發(fā)者無需手工配置:

        3)內(nèi)嵌支持Web服務,易于發(fā)布為單獨web服務。

        2.2 Spring Boot優(yōu)點

        正是由于上述特點,使得Spring Boot有以下優(yōu)點:

        1)使編碼變簡單。借助框架提供的各種注解(Annotation),較少的編碼即可實現(xiàn)豐富的服務功能。比如基于JPA框架的數(shù)據(jù)庫訪問,僅需聲明一個接口及相關(guān)函數(shù)定義(無需編寫實現(xiàn)),即可在其他進行調(diào)用。

        2)使配置變簡單。Spring有多種多樣的XMLConfig。Java Config或注解配置;而Boot僅需簡單的properties或yml文件配置。

        3)使部署變簡單。Boot可以將程序打包成一個jar文件,一鍵啟動,無需預部署各種應用服務器。同時,它對運行環(huán)境的基本要求降低了,僅需JDK即可。

        4)使監(jiān)控變簡單。通過Boot中的spring-boot-actuator庫即可實現(xiàn)對程序的監(jiān)控,可以通過http請求來查看其屬性配置、線程工作狀態(tài)、環(huán)境變量、JVM各種性能指標等。

        由于微服務的目的在于化解整體架構(gòu)服務的復雜性,以簡單快速的方式實現(xiàn)各個服務的實現(xiàn)、部署和變更。因此,Spring Boot的上述特點正好服務微服務構(gòu)建需求,同時Spring Boot還提供了形式多樣的庫(以spring-boot-開頭) ,支持JPA、RESTFul、Docker等技術(shù),更便于各種微服務的構(gòu)建。

        3 微服務架構(gòu)在城市一卡通手機充值支撐系統(tǒng)中的應用

        3.1 總體架構(gòu)

        城市一卡通手機充值支撐系統(tǒng)是城市一卡通NFC手機充值的業(yè)務后端系統(tǒng),其功能主要包括:

        1)負責與前端系統(tǒng)對接,完成城市一卡通卡賬戶資金支付功能:

        2)負責與前端系統(tǒng)對接,實現(xiàn)城市一卡通卡圈存充值功能:

        3)負責與第三方支付系統(tǒng)對接,實現(xiàn)賬戶資金轉(zhuǎn)賬加值功能、賬單下載和對賬文件生成功能:

        4)負責與客服受理系統(tǒng)對接,實現(xiàn)用戶訂單管理等客服受理功能。

        3.2 微服務應用

        基于城市一卡通手機充值支撐系統(tǒng)的業(yè)務需求,其需要提供以下具體服務功能:

        1)內(nèi)部服務功能:對接內(nèi)部聯(lián)機核心系統(tǒng),提供城市一卡通卡充值金賬戶查詢、充值金賬戶操作(加值、凍結(jié)、解凍等)等功能:

        2)基礎查詢服務:對外提供城市一卡通卡相關(guān)的查詢類服務:

        3)充值金商品服務系統(tǒng):主要負責城市一卡通卡充值金賬戶加值訂單相關(guān)服務功能,包括訂單創(chuàng)建、訂單查詢、訂單支付通知處理等:

        4)訂單支付服務:對接第三方支付系統(tǒng),負責第三方支付的訂單創(chuàng)建、支付通知處理等服務功能;

        5)圈存服務系統(tǒng):對接前端服務系統(tǒng)(或第三方合作商系統(tǒng)),提供城市一卡通卡圈存充值交互的相關(guān)功能,包括圈存訂單創(chuàng)建、圈存初始化、圈存以及圈存提交等功能;它還負責與圈存后臺交互,傳輸相關(guān)指令數(shù)據(jù):

        6)對賬服務:對接第三方支付系統(tǒng),負責充值賬單的下載和對賬處理。

        由此可見,上述功能相對獨立,適于引入微服務架構(gòu)。為此,我們設計了微服務架構(gòu),每個微服務均開放出REST API供前端或者其他系統(tǒng)調(diào)用,微服務之間的交互也是通過REST API進行交互,其微服務架構(gòu)圖如圖5所示。

        基于此微服務架構(gòu)設計,我們利用Spring Boot構(gòu)建了城市一卡通手機充值支撐系統(tǒng)的多個微服務系統(tǒng),并成功在廣州羊城通的手機QQ NFC充值、手環(huán)充值等項目進行實踐,實踐結(jié)果是該微服務架構(gòu)是可行、有效的。

        4 結(jié)論

        本文首先介紹了微服務及架構(gòu)的發(fā)展背景以及其概念,并闡述了其特點及其適應場景。其次,介紹了Spring Boot相關(guān)知識和架構(gòu)特點,闡述其為什么是一個適于微服務系統(tǒng)開發(fā)的框架。最后介紹了如何利用微服務架構(gòu)開展城市一卡通手機充值支撐系統(tǒng)的設計和建設,充分利用了Spring Boot框架的優(yōu)點。

        我們在微服務架構(gòu)實踐上,還處于初步階段,未來在進一步應用方面還有廣闊的發(fā)展空間,我們將在后續(xù)的系統(tǒng)演變過程中進一步深入優(yōu)化,以期構(gòu)建更加完善的城市一卡通手機充值服務系統(tǒng)。

        參考文獻

        [l]Lucas Krause.Microservices: Theory and Applicaton[J].Applicative.2016.

        [2]Craig Walis.Spring Boot in Action[M]:Manning publications.2016.endprint

        猜你喜歡
        體系架構(gòu)微服務
        云計算:體系架構(gòu)與關(guān)鍵技術(shù)
        基于SDN的OpenFlow管控標準接口協(xié)議研究
        基于供給側(cè)改革理論的圖書館社交網(wǎng)絡微服務研究
        微信公眾平臺在醫(yī)院圖書館的應用現(xiàn)狀調(diào)查
        基于國產(chǎn)軟硬件的行業(yè)大數(shù)據(jù)體系架構(gòu)研究
        基于微信企業(yè)號的校園移動服務
        微服務視角下高職圖書館數(shù)字資源使用分析
        中文信息(2016年10期)2016-12-12 10:09:57
        從單一模式系統(tǒng)架構(gòu)往微服務架構(gòu)遷移轉(zhuǎn)化技術(shù)研究
        科教導刊(2016年27期)2016-11-15 21:22:13
        基于微信公眾平臺的高校圖書館微服務現(xiàn)狀及對策
        關(guān)于應急移動通信體系架構(gòu)及組網(wǎng)技術(shù)分析
        嫩呦国产一区二区三区av| 男女男在线精品网站免费观看| 亚洲国产成人无码影院| 亚洲中文字幕国产综合| av天堂手机免费在线| av中文字幕潮喷人妻系列| 天码av无码一区二区三区四区 | 国产极品嫩模大尺度在线播放| 国产av一区二区三区在线播放| 乱人妻中文字幕| 亞洲綜合無碼av一區二區| 亚洲av成人一区二区三区不卡| 视频在线观看国产自拍 | 日本高清视频永久网站www| 中文字幕无码无码专区| 日韩肥熟妇无码一区二区三区 | 亚洲精品aa片在线观看国产| 99在线视频精品费观看视| 99久久国语露脸国产精品| 精品中文字幕日本久久久| 国产日产一区二区三区四区五区| 亚洲熟妇无码一区二区三区导航| h国产视频| 精品女同av一区二区三区| 亚洲精品中文字幕免费专区| 亚洲av无码av男人的天堂| 精品中文字幕久久久久久| 亚洲中文乱码在线视频| 精品av熟女一区二区偷窥海滩| 亚洲成a人v欧美综合天堂麻豆| 亚洲在线一区二区三区四区| 国产成人高清在线观看视频 | 久久婷婷国产综合精品| 亚洲av乱码二区三区涩涩屋| 亚洲人成电影在线播放| 丰满五十六十老熟女hd| 无码av专区丝袜专区| 成人影院在线观看视频免费| 精品久久香蕉国产线看观看亚洲| 欧美成人a在线网站| 清纯唯美亚洲经典中文字幕|