个人介绍
工作经历
2021-04-01 -至今豌豆思维技术主管
担任 800w 用户 20w 日活 APP 『画啦啦小灯塔』 中台研发项目负责人。 在入职半年内,顺利建立起一套严格的研发流程规范,同时带领团队完成原单体应用的微服务改造,顺利解决了原先迭代效率低、项目经常延期、上线质量不高、生产事故频发、成员无效加班多且离职率高等诸多问题,同时还解决了单体应用只能靠堆硬件扩展性能的问题,为公司节约了大量成本。后因组织调整,转为负责平台支撑部负责人,主要负责集团基础设施及基础开发框架等的迭代和维护工作,期间领导了诸如 sls/ecs/rds/... 安全降配降本,eureka/skywalking/sentinel 全集团统一,全服务 k8s 容器化,全网数据脱敏等等工作,为公司节省了大量的运维成本
2019-04-01 -2021-04-01滴普科架构师
先后担任架构师、基础服务部主管、devops 产品研发主管等角色,期间还兼任研发效能委员会主席(制定了超过 50+ 研发规范,单个文档最大阅读量达 400+),主要负责带领 devops 产品团队开展研发工作
教育经历
2015-06-01 - 东莞理工学院计算机科学与技术本科
资质认证
技能
此产品是基于 SpringCloud Gateway 进行二次开发,支持了额外许多丰富的功能(包括路由/流控/认证/熔断降级/性能监控等)及可视化管理,同时还保持了较高的性能(基准测试在 QPS 在 14k 左右,原生性能为 17k)。 技术栈:Spring Cloud Gateway、Kubernetes、Eureka、Redis、MySQL、Vue.js 本人在该项目中承担项目 Leader 的角色,负责产品规划/项目管理/架构设计/核心技术攻关
出于研发需要,集团将全网生产数据同步至非生产环境,为保证重要的数据资产(如*/银行卡/地址/订单金额等)不被泄露,需要先进行脱敏。通过此中间件,我们的运维同学只需要在配置好数据库后通过一行命令即可完成脱敏,真正做到高效、安全、易用。 此项目完全由本人单独完成,采用了 Node.JS(JavaScript 宿主环境),主要使用了 commander, chalk, inquirer, mysql, ora, workpool, pkg.js 等第三方 npm 包。同时根据集团要求自主设计了脱敏算法。 此项目的难点在于: 1. 性能:需要脱敏数据总量庞大(达数亿级),若性能太差势必导致工作进展缓慢。 解决方案:采用响应式编程,充分复用多核资源并行处理,大大提高程序性能,在 4c8g 的机器上压测千万数据全部完成脱敏全流程(读取+脱敏+写回)仅花费 7 分钟 2. 算法无状态:为提高易用性及节约成本,脱敏程序全程不能依赖任何存储资源运行。这对脱敏算法的设计提出了极高的要求,(以*号脱敏为例)需要综合考虑算法的幂等性、不可逆性、真实性、唯一性等,同时还要确保在算法泄露的情况下也难以进行暴力破解。尤其是真实性和唯一性这年似矛盾的两个需求,如何权衡成了最大的问题 解决方案:以 MD5 作为基础算法,在其基础上扩展出符合我们需求的算法,实测重复概率与理论计算基本一致 3. 增量脱敏:由于,一、生产会产生增量数据;二、前期梳理需要脱敏的数据可能会出现遗漏;三、脱敏过程意外中间导致脱敏不全面。这几个因素使得能否识别增量数据成了很重要的一个功能 解决方案:通过为每种不同类型的数据类型设计独特的特征算法,将脱敏特征嵌入到数据中,以便程序能够快速识别出数据是否经过脱敏