我的绩效
我是3y,一年CRUD
经验用十年的markdown
程序员👨🏻💻常年被誉为优质八股文选手
01、背景
10月26号加入公司,任职于后端开发工程师。入职后我对业务的梳理和调研,发现公司存在杂乱的消息推送,不同的系统都掺杂着消息下发的实现。
为了对消息的下发的出入口进行统一和提高开发效率,我果断决定需要新建一个消息推送平台打破这个僵局:austin
02、里程碑
0、10月26号我请示了领导我的想法,得到了正面的肯定。
1、10月26号我提交了第一个commit
,创建了SpringBoot项目作为主要的开发环境
2、11月5号我从零搭建好相关的开发环境(日志、各种项目需要常用的工具包),在这期间也做了些技术选型的考量
3、11月7号我接入了短信渠道,austin能够成功下发一条短信
4、11月15号我完善了短信渠道的周边措施,MySQL作为存储,SpringData JPA作为ORM框架将短信记录保存下来
5、11月17号我接收到了第一个pull request
,子斌同学提供了统一响应的代码
6、11月20号我开始接入Kafka并在接入层
实现责任链模式
7、12月4号我实现了逻辑层
的技术架构搭建(生产者与消费者模式),实现数据隔离
8、12月9号我引入了Redis来实现消息去重功能
9、12月20号我引入了prometheus+granfan实现了系统监控(从系统到容器再到应用甚至到JVM的监控)
10、1月5号我引入了apollo实现丢弃消息以及后续将账号相关等配置信息抽取到分布式配置中心
11、1月8号我引入了以注解记录日志的优雅方式并实现数据埋点设计(全链路追踪功能颇具成型),并成功发送一封邮件。
12、1月9号我merge
了第二个pull request
,yaojiang同学推送了swagger相关环境的代码
13、1月13号我引入了Graylog作为系统的分布式日志的采集方案,并后续将某些业务指标和监控配置在Graylog
14、1月17号在持续完善业务方的接入文档,提高业务方的接入了效率
15、1月19号我merge了第三个pull request
,大大大大哈士奇同学推送了重构去重功能的代码
03、过程自评
0、入职后迅速发现公司的技术项目存在的痛点,主动提出内部需要一个完整的消息推送平台来提高整个技术部和运营部推送消息相关需求的工作效率。
1、从项目的开始到季度的结束,我持续地详细记录项目的设计过程,有较好的文档输出(16篇),以方便后续开发人员甚至运营查看历史背景。
2、遇到琢磨不定的实现时,积极拉会议向腾讯、滴滴、阿里等一线大厂同学讨论方案,对齐行业内的技术,充分考虑系统设计时的扩展性和可维护性。
3、整体项目进度符合预期,上线节奏平稳且谨慎,暂未出现严重的线上问题。
04、项目成果
在内网多次发表相关文章共同交流,已收到各个部门的领导800+赞和400+业务接入,及时处理同事们接入遇到的线上问题(10+),受到同事们一致好评
05、规划
01、搭建消息推送Web后台管理页面,进一步降低接入和使用门槛。
02、引入分布式定时任务框架,实现定时推送消息,提高运营侧下发营销消息的效率。
03、接入流式处理平台实时处理日志数据,多维度聚合后产生全链路追踪数据供业务方自行排查问题,减少排查问题的人效
04、持续提高消息推送系统的影响力,让更多的业务方了解其功能,进而挖掘更多拉新和唤醒用户的玩法,提高站内的次留率和转化率
06、团评
这个季度跟你们接触最多了,你们是了解我的,求各位大佬帮忙评价下我这个季度的工作情况。我缺这块内容,有空的时候帮帮忙,挺急的,谢谢!
可能刚刚跟我成为同事的不太了解这个项目,可以阅读原文直接跳转
Gitee链接:https://gitee.com/zhongfucheng/austin
GitHub链接:https://github.com/ZhongFuCheng3y/austin