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