■ 项目:华润银行新一代核心及存款系统(2023.04------2024.05)
项目描述:该项目主要是对于华润银行旧核心及存款系统进行改造重构。由于外围系统不改造,需要兼顾考虑到新系统对老系统以及对外围渠道系统的兼容性,需保证新旧系统的稳定并行运行。
项目架构:对于系统内部而言,整个核心系统拆分为五个(客户中心,存款中心,定价中心,核算中心,公共运营中心),各中心将原有oracle杂糅的存储过程进行拆分剥离成为单个可独立处理完整逻辑的微服务单元,事务相关操作通过画布对微服务进行流程编排(分布式事务采用SAGA)以保证与原处理过程功能的最终一致性。跨中心查询类请求可通过RPC远程跨中心调用,或者文件形式交互。公共的业务通用功能组件通过SDK封装按需使用以减少业务代码的耦合性,便于扩展和维护。使用Redis缓存跨系统高频查询调用业务用户相关基本信息提高接口的跨中心调用性能。短信消息通知类业务通过MQ进行交互,减少系统阻塞,提升大量数据的处理能力;对于系统外层而言,核心系统经过网关然后通过ESB与外部系统之间进行交互,保证系统的隔离性。
技术选型:SpringBoot ,SpringCloud Alibaba,MyBatis,Nacos,Redis缓存,RabbitMQ,Docker容器技术,OceanBase数据库
责任描述:
1、分析拆分旧核心oracle源码,撰写概要设计和详细设计文档,参与功能方案评审,业务以及数据建模,最终落地到新代码功能实现。
2、旧系统功能对应的微服务拆分,公共组件SDK的编写,配合上下游相关方进行项目联调,优化代码性能和架构,保证系统的可用性;
3、旧核心数据库表设计以及迁移,分析优化旧系统存量迁移的慢SQL以及程序的执行逻辑和结构;
4、维护迁移后的功能以及迭代开发新需求功能。
■ 项目:待办推送系统(2022.09------2023.03)
项目描述:该系统的目的主要是收集同步各业务系统的具体流程流转过程中,所经过的各个节点环节产生的各项功能数据。之后将推送到系统门户首页进行展示。需要保证用户打开各业务子系统,综合办公系统以及门户系统展示数据的一致性。
项目架构:流程引擎服务作为生产者将各业务系统整合的待办,待阅,已办等信息推送到消息Kafka的topic,各topic按流程id分配到对应的分区,以保证流程id对应的待办信息消费的有序性。待办推送服务采用消费者组的形式以提高消费的效率,采用netty轮询机制通过监听对应的topic从MQ 取消息放到本地对应的阻塞队列进行消费处理,数据库中维护一个消费次数字段避免重复消费。服务端如果出现推送失败的情况则会考虑加入重试topic以进行后续的推送,客户端如果出现消费失败的情况则会通过数据库维护的重试次数字段进行重试,如果重试一定次数次仍失败则加入死信队列通过后台运维手工处理,之后再通过 Rest 调用方式将数据库中或缓存中记录推送给门户系统。
技术选型:SpringBoot ,MyBatis ,config配置中心,Kafka 消息中间件 ,Redis 缓存 ,Eureka 注册中心 ,Zuu网关,Nginx ,Docker 容器技术
责任描述:
1、在内存中上维护一个阻塞队列将消息根据同一个业务流程key路由到队列之后再落表保证消息有序。
2、表中防止重复消费消息,增加消费是否完成标识,保证数据的幂等性;
3、将数据库中消息通过RPC调用同步至门户系统;
4、在同步消息落表的步骤之前写Redis,保证后续页面手工运维推送消息的查询效率。