个人信息

技能清单

  以下均为我熟练使用的技能。

工作经历

口袋零钱信息技术有限公司 (2019年6月 - 至今)

  口袋零商户App:是帮助商户实现,码上收钱,码上营销。在项目中我作为支付组核心成员,主要负责商户服务平台(msp)、支付路由(esb)、消息服务(message),任职期间我不但完成了日常的开发需求,还完成了支付路径调整、系统拆分、RabbitMQ集群搭建、日志监控、系统优化重构等工作任务。

支付路径调整

  通过对支付路径的梳理,发现支付路径耗时较长,需要在多个系统进行初始化订单,在支付成功后逐步进行回调。通过比对各MQ之间的差异,决定采用RabbitMQ对系统进行解耦和数据交互。核心交易系统直接将订单发送到MQ,下游系统进行消费。为了保证业务平滑升级在esb内使用redis+mysql实现基于商户号或者服务商动态选择支付路径,系统上线后支付耗时缩短10%。

系统拆分

  由于msp过于庞大并且和其他系统耦合度太高,在梳理完相应的业务逻辑。决定将其进行拆分为数据服务和消息服务,并接入公司微服务体系。消息服务主要包含微信推送,极光推送,云喇叭,短信等众多推送服务。使用工厂模式管理各种推送的实现,通过消费RabbitMQ的订单数据直接完成推送,并且使用Redis来实现消费幂等防止出现重复推送。相较于旧的逻辑耗时由原来的1000ms降到300ms。

搭建RabbitMQ集群

  为了保证消息的可靠性和MQ可用性,除了将队列交换机做持久化以外,还使用发送确认机制+消息持久化实现失败补发,同时消费端使用redis做了幂等性处理,以及采用QOS进行限流。使用镜像队列来保证MQ的可用性。对线上出现的队列阻塞进行及时处理。目前每天承载超过30W的订单量以及100W的推送量。

系统优化和重构

  通过分析慢查询日志对系统中存在的慢查询,通过建立对应的索引和sql优化获得几十倍的性能提升,同时对系统中的无用代码进行精简和重构。

日志监控

  日志监控采用flume+kafka+flink实现,并使用钉钉机器人进行通知项目成员,及时进行处理。

深圳21天健康科技有限公司(2018年3月 ~ 2019年6月)

预付宝
持续集成平台搭建和维护

自我评价

  对技术有浓厚的兴趣,并乐此不疲的学习,坚持写自己的博客和他人分享知识一同进步,有严重的代码洁癖。

技术博客

技术文章

致谢

  感谢您花时间阅读我的简历,期待能有机会和您共事。