新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于SpringBoot微服務架構的城市一卡通手機充值支撐系統研究

        基于SpringBoot微服務架構的城市一卡通手機充值支撐系統研究

        作者:溫曉麗 蘇浩偉 陳歡 鄒大畢 時間:2017-09-27 來源:電子產品世界 收藏
        編者按:基于微服務架構而構建的應用系統是將復雜的大系統分解成了一系列小的單獨的子服務系統,這些子服務系統可以單獨部署發布,也可以組合成一個應用發布。伴隨著移動互聯網應用的快速發展,相應的服務系統更新迭代頻繁,采用微服務架構之后的系統可以很好地適應移動互聯網這種需求不斷迭代更新的應用場景。城市一卡通手機充值系統是城市一卡通公司在移動互聯網領域的應用服務系統,同樣地面臨著業務不斷快速迭代更新的需求,基于此,進行城市一卡通手機充值支撐系統的構建過程中采用了基于SpringBoot微服務架構的研究是必要和有參考意義的。

        1.4 哪些應用系統適用架構

        本文引用地址:http://www.104case.com/article/201709/364878.htm

          1)記錄型系統(System of Record)適用架構,例如可將大型應用按相對獨立的業務功能分解成若干個實現。

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

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

        2 Spring Boot分析

        2.1 Spring Boot概述

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

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

          2)自動配置,框架自動負責了大部分常規的配置,開發者無需手工配置;

          3)內嵌支持Web服務,易于發布為單獨web服務。

        2.2 Spring Boot優點

          正是由于上述特點,使得Spring Boot有以下優點:

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

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

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

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

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

        3 微服務架構在城市一卡通支撐系統中的應用

        3.1 總體架構

          城市一卡通支撐系統是城市一卡通NFC的業務后端系統,其功能主要包括:

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

          2)負責與前端系統對接,實現城市一卡通卡圈存充值功能;

          3)負責與第三方支付系統對接,實現賬戶資金轉賬加值功能、賬單下載和對賬文件生成功能;

          4)負責與客服受理系統對接,實現用戶訂單管理等客服受理功能。

        3.2 微服務應用

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

          1)內部服務功能:對接內部聯機核心系統,提供城市一卡通卡充值金賬戶查詢、充值金賬戶操作(加值、凍結、解凍等)等功能;

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

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

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

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

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

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

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

        4 結論

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

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

          參考文獻:

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

          [2]Craig Walls.Spring Boot in Action[M]:Manning publications,2016.

          本文來源于《電子產品世界》2017年第10期第59頁,歡迎您寫論文時引用,并注明出處。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 中山市| 娄底市| 揭阳市| 五原县| 循化| 乐业县| 佛学| 砀山县| 西乌| 奉新县| 扶绥县| 聂荣县| 曲松县| 杂多县| 都匀市| 新乡市| 宜阳县| 新昌县| 屯门区| 洱源县| 新宁县| 大安市| 宽甸| 赤壁市| 桃园县| 文登市| 柳林县| 来宾市| 曲阜市| 吉木萨尔县| 泗水县| 沙田区| 莲花县| 临高县| 莎车县| 扎鲁特旗| 睢宁县| 东安县| 海口市| 叙永县| 酒泉市|