个人介绍
1.熟悉 Java 语言,可熟练运用 SpringBoot、SpringMVC、Spring、MyBatis 等主流框架进行服务端开发。
2.熟悉 SpringCloud ,dubbo 分布式服务技术、分布式事务方案、分布式锁、Redis 缓存、Nginx 负载均衡、RabbitMQ。
3.熟悉 linux,docker 容器
4.熟悉 jmeter 压力测试及性能调优
5.熟悉三方授权 OAuth 协议、对接第三方支付接口;
6.熟练使用 maven、SVN、 等项目管理工具
工作经历
2021-12-01 -至今南京宇电电子科技有限公司开发工程师
1. 参与产品部需求与可行性讨论,提出技术可行方案; 2. 参与项目功能架构设计; 3.相关开发文档编写 4. 完成相关服务模块的设计与开发,配合前端完成联调; 5. 完成测试过程中的 BUG 修改; 6. 配合负责人完成服务上线。
教育经历
2012-09-01 - 2016-06-01华中科技大学武昌分校软件工程本科
技能
此项目是为江西省红十字会开发,包含门户网站及6大子系统:江西省红十字会筹资项目管理,江省红十字会会员和志愿者,江西省红十字会救灾备灾物资管理,绩效考核管理系统,器官捐献和造血干细胞管理,短信系统。开发周期大约12个月
1.负责前期功能需求调研,和银行工作人员确认功能需求,参与讨论开发方案. 2.负责后台功能开发,配合前段测试及 bug 修改. 3负责所负责模块的上线,服务器部署. 4.负责后管系统功能及页面开发 5. 负责后期系统维护
该系用采用 SpringCloud 架构,利用 SpringBoot 构建应用,Nacos 作为服务的注册、配置中心,Gateway 作为服务网关,OpenFeign 实现与其他模块进行交互,分布式事务使用 seata和 RabbitMQ 延迟队列,Redis 作为缓存,MySQL 进行持久化,MyBatisPlus 作为持久化框架。 责任描述: 1.负责会员服务模块 2.负责商品服务模块 3.负责购物车服务模块 4.负责订单服务模块 5.负责支付宝支付模块 技术实现: 会员服务模块: 除账号密码登陆外,可以使用*进行登陆,使用 OAuth 2.0授权获取用户相关 openid ,使用 openid 关联会员服务账号信息 使用 Reidssession 将用户信息保存在 session 并将 session 作用域扩大到父类实现在整个项目中保存用户信息。 商品服务模块: 使用 springcache 将商品信息保存到 redis中,使用 Feign 与其他服务通讯,在商品详情中防止等待时间过程,使用 completableFuture 异步线程编排提高响应时间 购物车模块:在浏览器第一次访问购物车时(不管登陆没登录)给浏览器保存一个 use-key 作为用户的一个临时购物车,将购物车里的信息与之绑定,如果是没登录的用户在登陆之后还需将临时购物车数据和用户购物车合并。 订单服务模块: 使用 RabbitMQ 实现分布式事务,保证订单信息和库存信息一致,创建订单是向死信队列(30分钟过期)发送订单信息,过期之后消息发送到库存解锁队列,库存信息监听这个队列根据逻辑判断是否回滚,如果是自动取消订单,那么直接给库存解锁队列发送消息,如果订单支付成功,则给成功队列发送消息,防止库存锁定之后订单服务崩溃,在库存锁定后也需要给库存解锁的死信队列(50分钟过期)发送消息.同时为了避免消息的丢失,在消息发送确认的回调里,将消息存入数据库中,然后在定期将异常消息重新发送,同时开启手动 ack 模式,为了避免消息重复,发送消息时带上业务的唯一标识,除了过就不再处理 支付宝支付模块: 使用支付宝支付 api ,需申请公网 ip ,根据支付文档配置相关配置,在异步回调中验签,并验证交易金额,在全部逻辑处理完给支付宝返回success