个人介绍
对面向对象编程思想和函数式编程有深刻的理解,喜欢一切设计和架构良好的开源软件,对提高软件质量非常关注。无论程序员、工程师还是架构师,个人认为都是围绕业务和技术展开的。业务的核心是领域知识,技术的核心就是源码。源码的核心就是多读、多思考和多写。
个人认为做架构师需要具备三种基本的能力:工程实践能力、抽象能力和逻辑能力。归根到底,是用编程思想解决工作和软件中遇到的各种问题,自己需要在日常工作中不断总结自己的一些原则,比如:编程的原则、架构的原则,使得自己在解决问题,分析架构,设计软件的时候做到得心应手。
我喜欢进行源码分析和重构以及架构分析和设计。希望在过程中能提高自己的架构能力,成为一个优秀的高级架构师。
最后,我个人认为软件的根本问题是不确定性和复杂度,能持续关注并把控两者可以达到事半功倍的效果。
工作经历
2022-10-08 -至今海通安恒科技股份有限公司高级架构师
贵州轮胎 贵州轮胎是一个企业内部微服务系统,主要功能围绕设备及其订单。我在这个项目主要负责技术难点、以及疑难杂症的解决。 解决的痛点: 1.建立监控体系,全方位监控服务和主机进行监控,使得异常立即得到反馈和解决。其中包括:pinpoint监控服务器、线程、堆栈、调用时间、调用堆栈;jenkins定时任务对日志进行清理和归档;jenkins监控微服务cpu使用情况;jenkins监控主机的CPU、内存、磁盘使用情况;jenkins定时任务监控日志的异常并发送到钉钉告警。其中监控微服务CPU多次解决了服务器宕机的问题,日志异常监控使得代码的很多bug得到及时的修复。 2.规范上线流程,因为微服务是多条机器并且需要高可用,手工操作起来是比较麻烦而且容易出错的。所以开发了一套自动发布流程,使得微服务可以一键发布或者重启。或者一键回滚到指定版本。大大提升了发布效率,减少了发布失败率。 3.解决sql慢,前期大量请求都比较慢,在这个过程中,使用指导开发人员对慢的sql进行了优化,使得访问速度大大提升。sql优化是个老大难问题,如果一开始就对sql进行规范化,并且在实施监控并给出优化建议,这样就能避
2021-04-05 -2021-08-31中科天智运控(深圳)科技有限公司长沙分公司架构师
规划算法框架 调研规划算法的开源框架,个人在这个项目中负责弄清楚什么是规划问题、规划问题怎么解决、有哪些框架、如何用框架解决具体问题。我负责把optaplanner框架的官方文档整理成中文格式,并且负责把官方的示例进行简化、整理。以及负责optaplanner的架构分析和源码分析,用optaplanner去解决具体的业务问题。由于工作需要,公司引入了这个框架,但是该框架使用、入门为较复杂,所以我个人设计了一个相对更简单的类似框架,功能上相对来说没有之前框架完全,但是可扩展性和易读性比更好,对一般的问题都可以用自己的框架解决,从而提高工作效率。
2020-04-01 -2021-04-04湖南优美科技发展有限公司架构师
分布式缓存系统 由于项目需要,基础架构组需要为项目组提供通用的技术模板。为了分担数据库的压力做到非侵入。因此实现了一套分布式缓存系统,采用redis集群和maxwell数据库中间件,还有mysql,mysql会开启binlog,所有的变动会同步到maxwell,maxwell会把匹配的key同步到redis。从而自动保证mysql和redis数据的顺序一致性。 该缓存系统降提了了访问速度和吞吐量,是的系统稳定性和性能大幅度提高。 2.基于swarm的自动化测试框架 该项目是为了方便开发人员进行自动化集成测试,使得开发人员不需要关注之前的环境配置、环境安装以及测试之后的资源关闭、清理工作,只需要关注核心的单元测试用例。例如:测试数据库的分表分库,插入数据库的时候需要确认插入到指定的数据库的指定的表中去。这种情况下,自动化集成测试框架通过简单的配置实现临时的启动容器,初始化数据,执行测试,关闭容器的操作,开发人员只需要写验证数据是否插入成功的逻辑即可。 3.基于swarm的cicd流水线 swarm自动化流水线可以在开发环境上快速构建,是一种轻量级的开发流水线。基于nexus,mave
2019-01-16 -2020-03-10长沙宝兰德软件开发有限公司java开发
cicd项目 项目需要jenkins代码和外部系统集成,通过jenkins的pipeline进行发布部署,最后把cicd整个从制品库到发布的流程都放到此系统中。通过插件或者修改jenkins源码,还有开发其他系统来支撑整个软件开发流程。 我负责脚本pipeline编写和jenkins改造及附加系统的开发。 2.apm监控项目 该项目类似pinpoint,是监控分布式应用性能瓶颈的apm工具,只是其中提供了更多样化的数据存储和查询。
2010-12-01 -2018-11-01湖南简拓科技有限公司java工程师
无人机基站管理控制台 此项目需要socket服务器,因很多基站需要连接此服务器,使基站直接可以相互发消息,我负责和基站对接的服务器以及基站监控管理系统。 2.律动课堂 该项目核心功能是帮助教学和学习的。核心在课堂,其中有上课签到,作业,课堂互动等功能。 在繁忙期间,达到了每天几千万的访问量,使得系统遇到瓶颈,后来通过优化缓存(本地缓存+集中缓存)、数据库优化(读写分离、自动同步)以及代码的调优(异步化、无锁化、队列化等)大大提高了系统的吞吐量和性能。
教育经历
2006-09-01 - 2010-07-20中南民族大学计算机科学与技术本科
本人在大学期间学习计算机科学与技术专业,并对编程产生了兴趣。
技能
该项目实现了后台管理、工作流、代码生产、设计器、在线集成等功能,通过配置模板,可以生成立即可以部署的前后端系统。除此之外,还有前端页面设计器,数据库设计器等,从前端可以根据模板生产需要的前后端系统。
乐住是一款集物业服务、一卡通、社区金融、便民信息、居家服务、邻里互动及周边消费为一体的全方位的物业管家服务软件,是中国首个定制化智慧小区整合服务平台。 本人负责后台管理系统的和前台页面的开发,在这个项目中学会使用jQuery,jQuery的编程方式,从中第一次感受到编程之美。优雅的选择器、还有函数式编程风格让人心动。