熟练Java基础和面向对象编程思想,具有扎实的Java技术功底。
熟练使用JDK1.8新特性 Lambda表达式、链式编程、Stream流式计算。
熟练使用 单例模式(懒汉、饿汉)、代理模式。
熟练使用SpringBoot、SpringCloud、MyBatis-Plus以及代码生成器等框架进行项目开发。
熟练使用OpenFeign、Nacos、Gateway、Sentinel等进行微服务项目开发。
熟练使用 关系型数据库、MySQL、SQL Server,非关系型数据库、Redis
熟练使用Tomcat服务器、Nginx实现反向代理、动静分离。
熟练使用ElasticSearch、RabbitMQ、RocketMQ中间件的使用。
熟练使用MQ实现高级消息队列、实现模块之间解耦、限流、异步通信等。
熟练使用 Linux的常用命令。
熟练使用Git、Eclipse、IDEA开发工具。
熟练使用Docker挂载,共享卷,DockerFile。
熟悉使用HTML、JavaScript、jQuery、Ajax、JSON、Vue等前端知识的与运用。
熟悉使用jenkins实现自动化部署。
熟悉使用Postman、jmeter、jvisualvm 接口压力测试工具。
项目名称:易购
运用技术:
TomCat、SpringBoot、MyBatis-Plus、Nginx、Redis、RocketMQ、Nacos、OpenFeign、Gateway
产品描述:
该项目为微服务电商项目,用于建立网上终端、营销案在线销售及相关辅助功能,后台包含商品管理、订单管理、 类目管理、客户管理、合作商管理、客服管理、支付平台、内容管理等,很大程度上分担了人工的压力,前台包括个人 中心,购物车,商城首页,频道页,商品详情页,提交订单页,支付页面等页面构成,对提高客户服务效率和客户满意 度能够起到较好的作用。
责任描述:
主要负责订单模块:
1. 用Redisson实现分布式锁库存功能及验证订单号防止重复提交订单,有效防止死锁以及锁过期了但请求没有处理完就释放锁导致其他线程获取到锁的情况
2. 用RocketMQ的事务型消息发送扣库存确保消息不丢失以及使用延迟队列+死信队列来处理超时订单,将订单转为已超时
3. 用户临时购物车 生成uuid做为用户临时标识存到Cookie中做为存到redis中的key商品为value,用户登录结算合并临时购物车
4. 使用JWT加密用户信息生成Token并设置有效时间放到Cookie,每次请求携带从Cookie获取用户信息并判断Token有效时间小于10分钟则重新生成Token
项目名称:轻城购票
运用技术:
TomCat、SpringBoot、MyBatis-Plus、Nginx、Redis、RabbitMQ、Nacos、OpenFeign、Gateway
产品描述:
本项目是一个线上预订票系统是一个操作简单、具有人机交互界面的线上的订票系统,它包括用户模块系统参数设置模块、票务信息模块、订票管理模块、实时信息提示模块、数据管理模块、实现线上订票自动化的计算机系统、为客户提供精准,精细、迅速的票销售和方便、简单的订票功能。
责任描述:
参与前期项目文档、项目流程图、数据库等设计
主要负责票务信息模块:
1. 使用Redis缓存座位等信息,防止大量请求到数据库造成数据库压力过大,利用Redis提供的原子解锁脚本,验证Token防止重复提交订单
2. 通过RabbitMQ的ack机制达到分布式事务的最终一致性,通过MQ订阅订单锁定座位队列进行锁定座位,成功手动确认接收信息,失败则绝收信息重新放回队列继续消费
3. 使用Nginx的动静分离、反向代理实现前后端分离和隐藏内部提供服务地址
项目名称:智教教育
运用技术:
TomCat、JDK8、SpringBoot、MyBatis-Plus、Maven、MySql、Gitee、RabibitMQ
产品描述:
新一代移动信息化的教育管理系统,搭建学校与家长中间的桥梁,辅助学校,老师,家长了解学生的成长情况,使各方可 以更好的参与到学生的学习生活中。学校老师可以快速查询记录编辑教学信息,提高管理效率。
主要模块:成绩查询、学籍管理、选课管理、评教系统、教务通知、社区动态、单点登录等
责任描述:
主要负责成绩、社区动态、学籍管理模块:
1. 成绩:用MyBatisPIus生成crud功能,通过学生姓名、以及学号等信息查询对应学生的成绩及导入导出成绩
2. 社区动态:用MyBatis生成crud功能,用RabibitMQ队列实时监听社区的动态,将数据存入redis并同步到数据库
3. 学籍管理:先将学生信息储存到mysql,再对其进行crud操作,用JWT对数据进行加密,再通过过滤器设置访问权限。