



个人介绍
具备扎实的Java基础,熟悉集合,多线程等技术,熟悉JVM,具备独立解决问题能力;
熟练掌握SpringBoot、Mybatis等开源框架的使用;
熟练掌握SpringCloud和SpringCloud Alibaba相关组件;
熟悉分布式事务、分布式锁、分布式数据库、分布式ID等主流解决方案熟悉微服务架构体系,对服务拆分、治理、监控、追踪具有独特见解;
熟悉MySQL、PostgreSQL数据库,熟悉SQL优化,具备数据库表设计能力;
熟悉Redis、Kafka、ES等中间件,具备一定的问题排查能力;熟悉常见的GOF设计模式,可在实际业务场景中合理运用;
熟悉常用的Linux命令,具备一定的运维经验;
工作经历
2022-04-04 -2025-05-06halopayjava架构师
1、以技术负责人的身份,负责该项目的架构设计、性能优化、技术选型、技术难点攻关,以及核心代码的开发工作。 2、“交易处理”模块,通过ShardingSphere-JDBC框架,以用户ID Hash的方式对“交易信息”表进行分库分表,通过雪花算法生成分布式ID,以及通过基因法将用户ID和主键ID进行关联映射,并将“交易信息”数据通过Canal同步到ES解决多维复杂查询问题。 3、“交易处理”模块,通过Kafka+XXL-JOB实现“最大努力通知”分布式事务方案,实现“交易处理成功后,通知结算系统进行后续流程”等功能的跨系统最终一致性。 4、“商户管理”模块,通过属性类别 + 查询频繁度 + 占用空间大小作为衡量标准,对“商户信息”表进行多范围垂直分表,解决MySQL在复杂业务场景下的批量查询瓶颈问题。 5、“风控安全”模块,通过规则引擎选型对比,引入“Easy Rules”规则引擎来代替高度定制化的Hard Code,实现“对交易记录进行规则判定”的工作,并交由运营人员进行规则配置,彻底释放研发人员的产能。 6、“风控安全”模块,基于Redis Bloom Filter代替原来的Set集
2021-04-01 -2022-04-01精鲲科技有限公司java研发工程师
1、以核心开发者的身份,参与该项目的性能优化、技术选型、微服务拆分、技术难点攻关,以及核心代码的开发工作。 2、参与系统从单体架构往微服务架构的演进工作,通过“将新功能模块实现为微服务”的方式,控制单体服务的增量通过“将大单体服务的模块迁移到微服务中”的方式,消化单体服务的存量,实现渐进式构建策略。 “网关”模块,通过Redis存储短信验证码和用户Token,设置过期时间使其自动失效,并基于JWT+网关层3. GlobalFilter实现用户鉴权功能。 4、“工作流”模块,调研并引入Camunda工作流引擎,通过可视化操作的方式高效地进行流程编排,代替以往的定制化Hard Code方式,并交由技术实施人员进行维护,彻底释放研发人员产能。 5、“任务”模块,通过XXL-JOB分布式任务调度平台的故障转移模式,代替原来的SpringTask单机定时任务,将跑批场景下的全年可用性从99.95提升至99.99%。 6、“网关”模块,通过Sentinel进行服务整体限流、核心接口限流、按上游系统编码限流等多级限流方案,防止系统资源过度倾斜,以及系统负载过大导致崩溃,提升系统可用性。
2019-05-01 -2021-04-01深圳秒秒信息科技java研发工程师
1、以核心开发者的身份,参与该项目的性能优化、技术选型、代码重构、技术难点攻关,以及核心代码的开发工作。 2、“贷款审批”模块,将“贷款信息”数据通过Canal同步到ES、解决多维复杂查询和全文检索关键字的性能瓶颈,并通过ES routing机制,使相同贷款人ID的“贷款信息”数据存储在一个分片上,将带贷款人ID搜索场景的接口RT缩短为原来的40%。 3、“风控”模块,通过CompletableFuture并行获取客户的多维度信息(个人信息、征信、公积金、信用等级、反欺诈黑名单等)并进行聚合,将接口RT从510ms优化至80ms。4、“还款管理”模块,使用XXL-JOB的分片广播模式代替原来的故障转移模式,多节点并行执行对“对用户进行逾期判断并计算罚息,以及发送催收短信”的任务,整体将任务处理时间缩短为原来的1/5。 5、“支付”模块,通过设计模式中的“策略模式”,进行各三方支付平台的API对接操作,符合单一职责和开闭原则,提升代码的可维护性和可扩展性。 6、“统计分析”模块,以空间换时间的思想,通过Redis存储过往不可变的历史数据 +增量数据实时计算的方式,取代原来的全量数据实时计
教育经历
2019-03-19 - 2021-07-01安徽大学计算机科学与技术本科
2014-09-01 - 2017-07-10江西制造职业技术学院软件技术专科