微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于SpringBoot微服务架构的城市一卡通手机充值支撑系统研究

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

时间:09-27 来源:电子产品世界 点击:

干问题,例如网络延迟、容错性、消息序列化、不可靠的网络、异步机制、版本化、差异化的工作负载等,开发人员需要考虑以上的分布式系统问题。

4)可测性的挑战:在动态环境下服务间的交互会产生非常微妙的行为,难以可视化及全面测试。经典微服务往往不太重视测试,更多的是通过监控发现生产环境的异常,进而快速回滚或采取其他必要的行动。但对于特别在意风险规避监管或投产环境错误会产生显著影响的场景下需要特别注意。


1.4 哪些应用系统适用微服务架构

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相关知识和架构特点,阐述其为什么是一个适于微服务系统开发的框架。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top