基于SpringBoot微服務架構(gòu)的城市一卡通手機充值支撐系統(tǒng)研究
1.4 哪些應用系統(tǒng)適用微服務架構(gòu)
本文引用地址:http://www.bjwjmy.cn/article/201709/364878.htm1)記錄型系統(tǒng)(System of Record)適用微服務架構(gòu),例如可將大型應用按相對獨立的業(yè)務功能分解成若干個微服務實現(xiàn)。
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團隊提供的?;赟pring 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有多種多樣的XML Config、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)基礎(chǔ)查詢服務:對外提供城市一卡通卡相關(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)。為此,我們設(shè)計了微服務架構(gòu),每個微服務均開放出REST API供前端或者其他系統(tǒng)調(diào)用,微服務之間的交互也是通過REST API進行交互,其微服務架構(gòu)圖如圖5所示。
基于此微服務架構(gòu)設(shè)計,我們利用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)的設(shè)計和建設(shè),充分利用了Spring Boot框架的優(yōu)點。
我們在微服務架構(gòu)實踐上,還處于初步階段,未來在進一步應用方面還有廣闊的發(fā)展空間,我們將在后續(xù)的系統(tǒng)演變過程中進一步深入優(yōu)化,以期構(gòu)建更加完善的城市一卡通手機充值服務系統(tǒng)。
參考文獻:
[1]Lucas Krause.Microservices: Theory and Applicaton[J].Applicative,2016.
[2]Craig Walls.Spring Boot in Action[M]:Manning publications,2016.
本文來源于《電子產(chǎn)品世界》2017年第10期第59頁,歡迎您寫論文時引用,并注明出處。
評論