• 精通Java,软件设计原则,设计模式,网络编程(Netty)、并发编程、JVM内存管理及调优。
• 熟练并长期使用使用spring、springMVC、Mybatis框架,并根据需要扩展。
• 有丰富的代码重构经验,长期致力于系统代码的优化,有将数千行的历史遗留代码,重构成结构良 好的代码的经历
• 熟悉Mysql,具有sql优化、分库分表、索引优化、性能调优、数据库灾备等丰富的实战经验。
• 自研组件解决业务中数据库事务和非事务数据一致性问题。
• 有丰富的系统架构经验,熟悉系统微服务化改造。
精通Redis,配合Ehcache设计出TPS十万级别的时效系统。
• 在系统高可用方面有丰富的工作经验。
• 熟悉Flume (日志采集组件),有通过日志采集的方式,将系统审计日志和业务代码解耦的经验。
• 熟悉double等RPC框架。
• 有对多个系统进行微服务化和中台化改造的经验。
熟悉Windq,kafka等消息队列组件。
熟悉Elasticsearch,具有搭建搜索系统,提供中心多系统的数据查询服务的经验。
2018.01 - 2018.12 接单管理系统的优化和升级
接单管理系统负责苏宁售后的订单的接入和管理。包括自营订单,厂家订单和以旧换新订单等等。 在日常产品的需求基础上,对系统进行了一系列的优化和重构。
工作内容:
1. 核心链路接口拆分,对系统核心链路进行服务化拆分,将核心业务接口独立部署
2. 将接单逻辑组件化,规范后期新业务的接逻辑
3. 优化下发策略,通过消息队列,配合本地消息表和定时任务处理下发数据。
4. 系统扩容,根据生产压测结果,对部分服务器进行扩容,以对应大促高峰
5. 在数据库层面进行了数据库的重新规划,将订单库独立拆分出来,重新安排分库分表规则和归档方 案,保证了数据存储上可以支撑接下来5到10年的订单。
6. 解决系统开发过程中发现的问题:数据库事务中和非数据库事务的数据一致性问题。
项目成果:
• 系统性能上,提高了系统的接单能力,提高了系统的稳定性。
• 在双十一期间,凌晨一个多小时内,消化了进200W订单。
• 比上一年接单量提升了30%,同时数据消化时间降低到了上一年的40%
2019.01 - 2019.12 售后时效系统的优化和升级 技术经理
售后时效系统是为前台提供售后服务的时效查询的系统。当用户在下单时,能够知道,何时可以上门服 务,时效系统属于交易链路一级系统。伴随售后业务的发展,时效服务业进行了业务和系统能力上的提 升。
工作内容:
1. 日常业务开发:新业务,新需求,不断迭代开发
2. 核心代码重构:由于业务复杂,在长期的开发过程中,代码变得冗长不堪,代码结构混乱,一次全 新的重构,将部分核心业务,通过纵向横向的拆分,达到最大程度的解耦,结合流程图,使其可读 性和可维护行得到了极大的提升
3. 系统能力提升在业务层和数据层对系统重新架构,使得系统能力得到了巨大的提升,
4. 业务异常治理:对于系统服务过程中发现的数据不存在的情况,明确场景(数据未配置,参数异常 等等),制定告警策略,及时反馈给业务,进行数据配置,或者告知上下游系统。
5. 服务配置优化:通过生产压测,调整各服务的服务器配置,以应对大促的挑战
项目成果:
• 在重构前,几个核心接口对外提供的能力和为5000TPS左右,并且存在缓存单点问题。
• 改造后,经过生产压测,核心接口对外提供的综合场景服务能力达到10W+TPS,提高了将近20多 倍。完美通过了后续的618、818、双11的挑战。
• 产品、业务的维护体验和效率也得到极大的提升
2020.07 - 2020.12 时效系统多活改造 高级技术经理 搜索系统拆分 高级技术经理
为了应对日益增加的搜索查询需求,在售后领域构建搜索系统,承接原有订单服务中的搜索统计等功能。 降低其他业务系统压力,提高对外服务的可靠性。
工作内容:
1. 确定功能范围:整理搜索系统的显性业务范围,挖掘潜在业务范围,确定最终要保障的功能。
2. 制定系统架构:完成系统的架构设计工作,输出系统架构文档。系统架构包括,数据存储,数据同 步,数据备份,数据查询,业务隔离,业务切换,数据维护等等
a. 为了提高可靠性,采用两套ES集群,采用了两种同步的方式,互为备份。 b. 在业务系统支持批量数据的重推功能。 c. 为业务系统提供了审计日志查询的功能。业务通过打印日志,通过flume采集到kafka,然 后搜索系统将数据保存到ES集群并提供查询服务 3. 完成功能开发:承担了部分的系统功能的开发。
4. 数据迁移:完成多个核心数据的迁移
5. 解决整改过程中发生的问题:数据冲突,依赖的组件不稳定,数据不一致,ES集群频繁GC
项目成果:
• 搜索系统承接了订单系统对外围提供的订单信息的列表查询。
• 用户“我的”界面的轮播订单的查询(TPS达到上万,日调用量峰值几千万)。
• 多个系统的审计日志的查询。
接单管理系统负责订单的接入和管理。包括自营订单,厂家订单和以旧换新订单等等。 负责订单系统的架构设计,项目研发质量把控,在日常产品的需求基础上,对系统进行了一系列的优化和重构。
售后时效系统是为前台提供时效查询的系统。当用户在下单时,能够知道,何时可以上门服务; 在项目中负责架构设计,技术选项,数据建模,控制项目进度及质量,实现项目稳定上线