分期还款服务-逻辑架构
2020-01-17 09:55:22 0 举报
分期还款服务-逻辑架构,支持手动还款、自动还款、逾期还款、一次性提前结清,服务高可用、业务具有高容错性
作者其他创作
大纲/内容
应用配置中心
feign client
服务层
冲抵记录
序列号服务
支撑服务
还款订单
充值订单
冻结消息队列
手动还款
HTTP/WebSocket
鉴权服务
config client
自动还款
MQ
服务监控
已还订单
本地消息队列
网银存管平台
消息通知队列
spring cloud zuul
期供查询
鉴权客户端
历史数据归档
服务熔断器
日志记录
服务注册中心
权限控制
网关层
MySQL
历史数据
用户银行账户
业务数据
存储层
业务系统
事务\\数据源
组件层
注意事项:1、对于HTTP请求,必须在业务处理前进行参数有效性校验,通过后才能接受业务请求。2、对于敏感数据,如:金额、状态必须以数据库为准,不能依赖于请求参数。3、对于依赖于时间的业务,如:计算是否逾期、是否正常还款等,必须每次读取系统最新时间,不可声明为全局、局部、临时变量;对于金额的计算,特别是逾期产生的费用,必须实时计算,不能依赖于上次计算结果。4、在还款服务里的任何金额,单位均为『分』。5、还款服务对于服务器系统时间极其敏感,必须保证系统时间的标准性。6、对于数据库的更新操作(主要是改、删),更新条件必须包含业务主键(biz_id)。7、所有的异常行为必须以 ERROR 级别本地记录,其中必须包含有业务唯一标识,如:msgId、biz_id、request_number(三方请求流水号)等,异常通知邮件中也是如此,另外还要有异常的业务类型。正常停机方案:*先将还款服务从上游服务中主动下线(Nginx、Spring Cloud Zuul、RocketMQ Console、任务调度服务控制台),待确保不在有新的请求进来并且没有处理中的业务才能停机,切不可直接 shutdown 更不可以 kill。灾后恢复方案:*若故障在23小时内(保守估计一个小时的数据核实),可直接启动还款服务;若超出23小时,则更改服务器时间到故障前,何时恢复服务器到正常时间视故障中数据处理情况而定。
业务异常通知
逾期减免
应用层
传输层
数据层
死信队列
人工事务补偿
冻结订单
充值消息队列
期供
任务调度中心
Mongo
0 条评论
下一页