基于SpringBoot微服務(wù)架構的城市一卡通手機充值支撐系統研究
1.4 哪些應用系統適用微服務(wù)架構
本文引用地址:http://dyxdggzs.com/article/201709/364878.htm1)記錄型系統(System of Record)適用微服務(wù)架構,例如可將大型應用按相對獨立的業(yè)務(wù)功能分解成若干個(gè)微服務(wù)實(shí)現。
2)交互型系統(System of Engagement)也較為適用微服務(wù)架構,例如渠道應用可以應用“后端服務(wù)前端”的模式實(shí)現。
3)分析型系統(System of Insight)則不適用于微服務(wù)架構,其適用于其他架構模式如管道及過(guò)濾模式。
2 Spring Boot分析
2.1 Spring Boot概述
Spring Boot是Java領(lǐng)域中知名的微服務(wù)系統構架框架,是由Pivotal團隊提供的?;赟pring Boot框架,Java應用程序的構建簡(jiǎn)單易行。該框架具有以下特點(diǎn):
1)簡(jiǎn)單的庫依賴(lài)管理,基于Maven配置文件,即可實(shí)現相關(guān)依賴(lài)庫的配置;
2)自動(dòng)配置,框架自動(dòng)負責了大部分常規的配置,開(kāi)發(fā)者無(wú)需手工配置;
3)內嵌支持Web服務(wù),易于發(fā)布為單獨web服務(wù)。
2.2 Spring Boot優(yōu)點(diǎn)
正是由于上述特點(diǎn),使得Spring Boot有以下優(yōu)點(diǎn):
1)使編碼變簡(jiǎn)單。借助框架提供的各種注解(Annotation),較少的編碼即可實(shí)現豐富的服務(wù)功能。比如基于JPA框架的數據庫訪(fǎng)問(wèn),僅需聲明一個(gè)接口及相關(guān)函數定義(無(wú)需編寫(xiě)實(shí)現),即可在其他進(jìn)行調用。
2)使配置變簡(jiǎn)單。Spring有多種多樣的XML Config、Java Config或注解配置;而B(niǎo)oot僅需簡(jiǎn)單的properties或yml文件配置。
3)使部署變簡(jiǎn)單。Boot可以將程序打包成一個(gè)jar文件,一鍵啟動(dòng),無(wú)需預部署各種應用服務(wù)器。同時(shí),它對運行環(huán)境的基本要求降低了,僅需JDK即可。
4)使監控變簡(jiǎn)單。通過(guò)Boot中的spring-boot-actuator庫即可實(shí)現對程序的監控,可以通過(guò)http請求來(lái)查看其屬性配置、線(xiàn)程工作狀態(tài)、環(huán)境變量、JVM各種性能指標等。
由于微服務(wù)的目的在于化解整體架構服務(wù)的復雜性,以簡(jiǎn)單快速的方式實(shí)現各個(gè)服務(wù)的實(shí)現、部署和變更。因此,Spring Boot的上述特點(diǎn)正好服務(wù)微服務(wù)構建需求,同時(shí)Spring Boot還提供了形式多樣的庫(以spring-boot-開(kāi)頭),支持JPA、RESTFul、Docker等技術(shù),更便于各種微服務(wù)的構建。
3 微服務(wù)架構在城市一卡通手機充值支撐系統中的應用
3.1 總體架構
城市一卡通手機充值支撐系統是城市一卡通NFC手機充值的業(yè)務(wù)后端系統,其功能主要包括:
1)負責與前端系統對接,完成城市一卡通卡賬戶(hù)資金支付功能;
2)負責與前端系統對接,實(shí)現城市一卡通卡圈存充值功能;
3)負責與第三方支付系統對接,實(shí)現賬戶(hù)資金轉賬加值功能、賬單下載和對賬文件生成功能;
4)負責與客服受理系統對接,實(shí)現用戶(hù)訂單管理等客服受理功能。
3.2 微服務(wù)應用
基于城市一卡通手機充值支撐系統的業(yè)務(wù)需求,其需要提供以下具體服務(wù)功能:
1)內部服務(wù)功能:對接內部聯(lián)機核心系統,提供城市一卡通卡充值金賬戶(hù)查詢(xún)、充值金賬戶(hù)操作(加值、凍結、解凍等)等功能;
2)基礎查詢(xún)服務(wù):對外提供城市一卡通卡相關(guān)的查詢(xún)類(lèi)服務(wù);
3)充值金商品服務(wù)系統:主要負責城市一卡通卡充值金賬戶(hù)加值訂單相關(guān)服務(wù)功能,包括訂單創(chuàng )建、訂單查詢(xún)、訂單支付通知處理等;
4)訂單支付服務(wù):對接第三方支付系統,負責第三方支付的訂單創(chuàng )建、支付通知處理等服務(wù)功能;
5)圈存服務(wù)系統:對接前端服務(wù)系統(或第三方合作商系統),提供城市一卡通卡圈存充值交互的相關(guān)功能,包括圈存訂單創(chuàng )建、圈存初始化、圈存以及圈存提交等功能;它還負責與圈存后臺交互,傳輸相關(guān)指令數據;
6)對賬服務(wù):對接第三方支付系統,負責充值賬單的下載和對賬處理。
由此可見(jiàn),上述功能相對獨立,適于引入微服務(wù)架構。為此,我們設計了微服務(wù)架構,每個(gè)微服務(wù)均開(kāi)放出REST API供前端或者其他系統調用,微服務(wù)之間的交互也是通過(guò)REST API進(jìn)行交互,其微服務(wù)架構圖如圖5所示。
基于此微服務(wù)架構設計,我們利用Spring Boot構建了城市一卡通手機充值支撐系統的多個(gè)微服務(wù)系統,并成功在廣州羊城通的手機QQ NFC充值、手環(huán)充值等項目進(jìn)行實(shí)踐,實(shí)踐結果是該微服務(wù)架構是可行、有效的。
4 結論
本文首先介紹了微服務(wù)及架構的發(fā)展背景以及其概念,并闡述了其特點(diǎn)及其適應場(chǎng)景。其次,介紹了Spring Boot相關(guān)知識和架構特點(diǎn),闡述其為什么是一個(gè)適于微服務(wù)系統開(kāi)發(fā)的框架。最后介紹了如何利用微服務(wù)架構開(kāi)展城市一卡通手機充值支撐系統的設計和建設,充分利用了Spring Boot框架的優(yōu)點(diǎn)。
我們在微服務(wù)架構實(shí)踐上,還處于初步階段,未來(lái)在進(jìn)一步應用方面還有廣闊的發(fā)展空間,我們將在后續的系統演變過(guò)程中進(jìn)一步深入優(yōu)化,以期構建更加完善的城市一卡通手機充值服務(wù)系統。
參考文獻:
[1]Lucas Krause.Microservices: Theory and Applicaton[J].Applicative,2016.
[2]Craig Walls.Spring Boot in Action[M]:Manning publications,2016.
本文來(lái)源于《電子產(chǎn)品世界》2017年第10期第59頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處。
評論