赖喜德
高级软件开发工程师
广发银行贷款中心
广发银行贷款中心,是广发银行国产化分布式核心的项目之一,2020年11月立项,最终于2023年5月上线。贷款中心按业务拆分为对公贷款、零售贷款、联合贷款;对公贷款的主要业务有普通对公贷款、贴现、票据、垫款、担保等,零售贷款主要负责广发银行自营的个人贷款业务,联合贷款负责与其他金融机构合作的贷款,如借呗、花呗、网商贷等。
主要职责:
1、对公放款和个人放款的开发,对于存款入账涉及跨应用的事务使用seata的分布式事务框架保证数据的最终一致性。
2、参与7*24小时实时记账方案设计,0点过后需要对贷款账户的余额进行日终处理,如结息、计提、生成还款计划等操作,这时如果发生还款或者其他金融交易,贷款余额变动则导致日终处理出错;为此使用插队处理的方式支持跑批过程中执行联机交易,比如日终处理时发生还款交易,还款交易会校验当前账户是否已经完成处理,如果未处理则执行对应结息、计提、生成还款计划操作,然后执行还款交易。
3、参与核算事件记账方案设计,放款交易过程中贷款中心会产生核算记账事件,存款入账也会产生核算记账事件,由于核算中心单独部署,各中心单独发送记账事件给核算中心处理,核算无法验证是否借贷平衡,故而采用主子事件的方案,各中心产生的核算记账事件,都返回给交易发起方统一处理。
4、优化借呗放款交易,原来的方式是使用分布式事务保证事务最终一致性,但由于分支事务的注册和提交需要与分布式事务协调中心交互,分支事务较多的情况下耗时较长;后续取消分布式事务,改为将记账信息保存到本地消息表的方式实现异步记账,使交易速度提升50%,每天支持上亿的贷款流水。
5、水平分库,数据库以客户的维度将数据库进行水平切分,使不同客户的数据均匀分布到各个数据库,查询时通过账号和客户的映射关系获取客户所在的分区;对于一些特殊的查询需要跨分区的,通过建立全局索引的方式提升查询性能。
6、使用mysql实现分布式锁解决同一客户并发放款问题。
7、投产演练,项目正式上线前参与三次投产演习,提前准备好投产上线需要执行的sql检查脚本,并将检查步骤写入文档,投产演练时严格按照文档步骤执行并填写反馈结果,保证了项目顺序上线。
logo
浙公网安备33011802001633号
浙ICP备1805484号-2