1,Java基础扎实,掌握JVM、并发编程、网络编程、JVM调优以及常见设计模式等。
2,熟练掌握MyBatis、Spring全家桶系列框架,阅读过部分源码。
3,微服务:熟练使用Dubbo、Springcloud,对实现原理有一定了解。
4,数据库:熟悉掌握Mysql原理、sql优化手段,具备ShardingJdbc分库分表使用经验;了解使用Nebula Graph图数据 库;熟练掌握Redis,熟悉数据类型和使用场景,了解其持久化、集群原理。
5,消息中间件:熟悉掌握RocketMQ、RabbitMQ原理。
6,性能监控:熟悉Grafana、Prometheus等工具。
7,搜索引擎:了解使用Elasticsearch。
8,大数据相关:熟悉Zookeepr、Kafka、Nacos等中间件的使用场景和部分原理;了解使用FastDFS等分布式存储。
9,工具:熟悉linux环境下运维工作和sehll脚本使用。
10,持续集成:熟悉CI/CD流程,能够使用Jenkins做持续集成,熟悉使用Docker,了解K8s。
(1)统一数据平台开发
技术栈 : SpringCloud、Zookeeper、Kafka、Nacos、GateWay、Nebula Graph
项目描述 : 公司内部使用,主要功能有两点:统一集成各个BU的数据入库;提供图数据数据流转以向上支撑告警链路的能力。 项目职责:参与系统流程设计、核心开发。
项目贡献:
通过结合模版模式、工厂模式、任务调度等手段,集成各核心BU的数据入库到一个平台上,降低架构冗余,降低生产环境 约20%的内存占用。
通过攒批、多线程模型等手段,实现每分钟千万级图数据处理,将上层告警延迟由2秒控制到毫秒级。 为数据统一平台搭建监控系统,对数据处理、服务器负载做可视化,并接入Promethesu告警,实现平台的24h监控。
(2)地铁动态监测系统
技术栈:SpringCloud、SpringBoot、Mybatis、MySQL、Redis、RocketMQ、Zookeeper、Grafana
项目描述:收集地铁运行时的传感器数据,依据轨道特定指标进行解析,用以排查地铁运行的风险;并整合系列铁路功能如装 备的采购、借调等等。
项目职责:以项目负责人身份进行系统重构、核心开发。
项目贡献:
重构解析模块:拆分解析微服务,结合线程池并发操作、消息队列做异步处理和失败重试,将单条数据解析速度由最慢5分 钟降低到2分钟以内。
数据库优化:优化表、索引结构、sql语句,通过ShardingSphere对核心表进行分库分表,主从做半同步复制和读写分 离,将数据查询从最慢7s降低到300ms以内。
缓存优化:引入缓存方案优化客户端查询速度,设置合理的更新策略,并及时监控处理热key,防止性能降低。
月均支撑20+次地铁测试任务;对接铁路方输出项目方案设计文档,并成功支撑项目推广到地方铁路。
该电商系统面向C端用户,用于吸引企业用户入驻,发布商品和寻找供应商,覆盖完整的商品中心、订单交易支付链路; 本人在项目中作为主开,负责系统架构设计和核心代码编写,后端开发量承担90%以上; 项目架构前后端分离,涉及springcloud体系和vue框架等。
该项目为商家后台管理系统,主要负责处理商家后台看板展示和运营审核; 本人在项目中承担项目经理角色,负责拆分项目需求和架构设计,并在人手短缺的情况下担任主要研发。 项目采用springboot+vue框架;