新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于SpringBoot微服務(wù)架構(gòu)的城市一卡通手機(jī)充值支撐系統(tǒng)研究

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

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

1.4 哪些應(yīng)用系統(tǒng)適用架構(gòu)

本文引用地址:http://m.butianyuan.cn/article/201709/364878.htm

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

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

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

2 Spring Boot分析

2.1 Spring Boot概述

  Spring Boot是Java領(lǐng)域中知名的微服務(wù)系統(tǒng)構(gòu)架框架,是由Pivotal團(tuán)隊(duì)提供的?;赟pring Boot框架,Java應(yīng)用程序的構(gòu)建簡(jiǎn)單易行。該框架具有以下特點(diǎn):

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

  2)自動(dòng)配置,框架自動(dòng)負(fù)責(zé)了大部分常規(guī)的配置,開發(fā)者無需手工配置;

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

2.2 Spring Boot優(yōu)點(diǎn)

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

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

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

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

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

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

3 微服務(wù)架構(gòu)在城市一卡通支撐系統(tǒng)中的應(yīng)用

3.1 總體架構(gòu)

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

  1)負(fù)責(zé)與前端系統(tǒng)對(duì)接,完成城市一卡通卡賬戶資金支付功能;

  2)負(fù)責(zé)與前端系統(tǒng)對(duì)接,實(shí)現(xiàn)城市一卡通卡圈存充值功能;

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

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

3.2 微服務(wù)應(yīng)用

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

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

  2)基礎(chǔ)查詢服務(wù):對(duì)外提供城市一卡通卡相關(guān)的查詢類服務(wù);

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

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

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

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

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

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

4 結(jié)論

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

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

  參考文獻(xiàn):

  [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頁,歡迎您寫論文時(shí)引用,并注明出處。


上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉