文档介绍

1.1系统重构目的

  1. 提高开发的效率,方便快速迭代化开发。
  2. 增加登录校验、参数校验、统一日志格式、异常处理。
  3. 删除多余的功能模块。

1.2文档范围

本文档包含以下几个部分:

  1. 重构设计思想
  2. 实施方案

1.3读者对象

本文档主要读者包括:

1、本系统的系统开发人员:开发人员(了解重构的设计方案、结合现有系统修改)。

 

2.重构设计思想

2.1 多个基础微服务合成一个微服务,整合现有微服务

(1) authService、attachmentService、configService、notifyService、rateService、systemService、validateService合成一个foundationService

(2)userService、kycService、operationService、onlinebankService、nanoService 仍然是单独的微服务

(3)workflowService、amazonService、ccService、channelService、channelService、chargeService、chicagoService、ifspService、japaneseService、tradeService、financeService删除

(4)tradeapp删除

2.2登录校验

(1)增加authorityInterceptor,实现spring的HandlerInterceptor的接口,完成对所有.do结尾的接口的登录校验

(2)ebank、management、onlinebankapp三个应用里增加该功能

2.3参数校验

(1)针对Controller层,利用spring的aop拦截方法,实现methodInterceptor的接口,完成对Controller层的对象的参数校验

(2)针对微服务,利用duobbo的filter,完成对微服务接口方法的对象的参数校验

(3)支持javax.validation的标准格式

(4)支持中英文信息显示,在messageXX.properties配置信息。

2.4日志

(1)统一使用PanLogger,PanLogger和logger的方法一致

(2)PanLogger格式包括日期、线程号

(3)PanLogger日志文件分离,各个应用输出各自文件

2.5异常处理

(1)针对Controller层,利用spring的aop拦截方法,实现methodInterceptor的接口,完成对Controller层的方法调用的异常处理,统一返回标准的格式

(2)针对微服务,利用duobbo的filter,完成对微服务接口调用的异常处理,统一返回标准的格式

2.6 微服务接口字段变更

(1)微服务生产者的ReqDTO,增加字段,兼容已发布的消费者

(2)微服务生产者的ReqDTO,改变字段的类型,删除字段,不兼容已发布的消费者

(3)微服务的序列化协议由kryto改为hession2

 

 

3.重构后的架构体系

4. 实施方案

4.1 微服务整合

(1)  authService、attachmentService、configService、notifyService、rateService、systemService、validateService功能移入到foundationService

(2)workflowService、amazonService、ccService、channelService、channelService、chargeService、chicagoService、ifspService、japaneseService、tradeService、financeService删除,上述服务如果存在仍然需要使用的部分功能,示具体的功能移到重构后的微服务当中

4.2 登录校验、异常处理 

(1)前台人员增加全局登录校验、异常处理的提示

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐