新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于SpringBoot微服务架构的城市一卡通手机充值支撑系统研究

基于SpringBoot微服务架构的城市一卡通手机充值支撑系统研究

作者:温晓丽 苏浩伟 陈欢 邹大毕时间:2017-09-27来源:电子产品世界收藏
编者按:基于微服务架构而构建的应用系统是将复杂的大系统分解成了一系列小的单独的子服务系统,这些子服务系统可以单独部署发布,也可以组合成一个应用发布。伴随着移动互联网应用的快速发展,相应的服务系统更新迭代频繁,采用微服务架构之后的系统可以很好地适应移动互联网这种需求不断迭代更新的应用场景。城市一卡通手机充值系统是城市一卡通公司在移动互联网领域的应用服务系统,同样地面临着业务不断快速迭代更新的需求,基于此,进行城市一卡通手机充值支撑系统的构建过程中采用了基于SpringBoot微服务架构的研究是必要和有参考意义的。

1.4 哪些应用系统适用架构

本文引用地址:http://www.eepw.com.cn/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 下一页

评论


相关推荐

技术专区

关闭