1. 精通Java核心,有良好的编程能力和编码规范,并熟练使用设计模式;
2. 熟悉Java并发编程,对Java的各种锁机制,线程池机制有深入理解,并在项目中熟练使用;
3. 熟悉JVM原理,JMM模型,常见的垃圾回收算法,熟悉JVM调优,有实际线上调优经验
4. 熟悉MySQL数据库编程,对InnoDB索引数据结构以及事务隔离级别等有一定的了解;
5. 熟练SpringBoot、Spring、MyBatis等主流框架,研究过相关源码,比如spring的bean生命周期以及循环依赖,Mybatis实现原理;
6. 有Spring Cloud Alibaba微服务技术栈的实际应用经验,并对部分组件的工作原理有一定的理解;
7. 熟练使用应用分布式缓存Redis,研究过Redis内存淘汰策略以及源码、持久化等相关技术;
8. 熟知RabbitMQ及RocketMQ消息中间件底层原理,能根据实际项目场景给出方案;
9. 了解MongoDB和ElasticSearch的使用。
项目名称:宝洁云商城项目
开发时间:2021.8-2023.7
软件架构:spring boot2.0 +spring cloud alibaba + mybatis + mongo db + elastic search + seata + rocket mq 等;
项目描述:
基于 spring cloud alibaba 技术栈,开发模式为前后端分离的 B2C 电商平台项目。
责任描述:
1. 参与平台架构设计,优化,架构原型实现及核心模块的开发工作;基于目前比较主流的spring boot2.0 + spring cloud alibaba构建项目,为项目的分布式架构环境打下基础,如使用Nacos作为注册中心,实现服务治理;使用 OpenFeign 进行服务的远程调用等;
2. 参与核心需求澄清,分析及发现系统瓶颈,推动系统性能的提高;
3. 开发核心功能,如订单服务和支付服务;订单模块中使用 Seata 框架来解决分布式事务问题,搭建了 TC(事务协调者)的集群环境,保证 Seata 的高可用;支付服务使用策略模式,并通过RocketMQ 特有的事务消息,来解决分布式场景下数据的最终一致性问题;
4. 代码Review,对核心接口进行优化改造;
5. 参与线上灰度发布的方案设计,使用使用Gateway+Ribbon进行流量转发,提供了多版本并存的方案并实施;
6. 使用ElasticSearch做页面条件查询,提升页面数据查询速度;使用MongoDB存储购物车数据;
7. 负责上线前的脚本及文档准备,线上问题定位与处理,输出线上问题修改建议文档;
项目名称:机器人服务端
开发时间:2020.9-2021.2
软件架构:spring boot2.0 +spring cloud alibaba +mybatis + mysql + redis + elastic search 等;
项目描述:
通过手机app客户端上传用户的语音,通过第三方语音库将其转换成文本,在根据用户选择的角色和场景,去匹配对应的关键词,命中三个关键词以上就去取对应的角色和场景的对应回复,下发给客户端进行播放,同时提供用户信息管理和会员购买等功能。
责任描述:
1. 参与需求分析、表结构设计;
2. 负责机器人服务端设计、框架搭建和所有业务开发和数据库维护;基于目前比较主流的spring boot2.0 + spring cloud alibaba构建项目,使用Nacos作为注册中心,实现服务治理,使用OpenFeign进行远程调用,基于Ribbon负载均衡器实现负载均衡,使用Seata组件实现分布式事务控制;
3. 负责语音交互功能的开发和对接,语音库检索,优化各业务组件查询,使用redis缓存进行缓存预热,使用redis cluster搭建集群,保证redis缓存的高可用,使用ElasticSearch配合做关键词匹配;
4. 负责服务器系统安装,环境配置,项目部署;
项目名称:加盈掌柜
开发时间:2014.12-2017.6
软件架构:spring boot1.4 + spring cloud netflix +mybatis + mysql + redis + bootstrap;
项目描述:
该项目是手机微商商城,主要面对的是大学生创业群体,主要作用是用于商品买卖和微商开店进货,还有各种活动等。
责任描述:
1. 负责项目前期的需求分析讨论,参与项目技术方案选型,基于spring boot1.4 + spring cloud netflix构建项目,使用Eureka作为注册中心,实现服务治理;
2. 使用Feign进行远程调用,基于Ribbon负载均衡器实现负载均衡,使用Hystrix组件实现线程隔离、服务熔断以及降级;
3. 引入redis缓存,基于redis的缓存做分布式Session;
4. 负责公共支持中心、路由中心等几大基础微服务组件搭建并添加到Zuul网关控制;
5. 负责项目的抽奖活动、优惠券、满减优惠、促销活动、优惠专题活动、活动验证等相关接口的开发和测试。