本人由于对编码产生了浓厚的兴趣, 所以选择了java后端方向,自学了一些编程技术。熟悉Java、Spring Boot、Spring Cloud、 MyBatis-plus、SSM、MySQL、Redis、RocketMQ、Docke
等技术。了解一些常用的前端技术,例如:jQuery、 LayUI、Vue、ElementUI等。拥有良好的生活习惯与不错的自学能力。
校园生活社区(微信小程序) - 一个小demo
- 为学校提供学习交流社区、匿名交流、学习资源分享等服务平台。
- 功能:登录、发布、删除、评论、敏感字过滤、消息提醒、分页/分类/模糊查询、管理后台等功能。
- 技术栈:SpringBoot、SprigMVC、MyBatis-Plus、MySQL、Redis、Nginx等。
- 由于微信小程序登录方式有所不同(需调用腾讯提供的接口换取用户唯一标识与其他信息),后台采用
HttpURLConnection发送请求后将返回的数据存入MySQL,并生成token返回给前台,将token与用户
信息存入Redis用于验证登录状态(时限30分钟,前台定时发送请求延长时限);使用MyBatis-Plus自
带一级缓存+Redis构建二级缓存,提高了帖子与评论的QPS;用户删除帖子后,图片将存入Redis过期
图片列表,利用定时器定期递归删除,减少了对磁盘文件的频繁操作。
- 项目部署在腾讯云Ubuntu(1核2G),获得“校企合作微信小程序大赛”第一,源码已在社团内部作为
教学资源,并在gitee开源。
商城秒杀系统 - java后端
- 主要解决电商在进行抢购活动时,商品详情页与下单环节的高并发问题。
- 功能:登录、发布、删除、评论、敏感字过滤、消息提醒、分页/分类/模糊查询、管理后台等功能。
-
技术栈:SpringBoot、SSM、GuavaCache、MySQL、RocketMQ、Redis、Nginx等。
-
采用SprigBoot+SSM实现了用户状态管理、商品展示和下单操作等功能;使用GuavaCache+Redis构
建二级缓存,缓存了用户信息与商品信息,大幅度提高了详情页单词QPS;使用RocketMQ的事务性消
息实现一步扣减库存同时也保证了数据的一致性,大幅度提高了下单操作的TPS;使用验证码平滑流量,
使用令牌+大闸限制总流量,使用限流器限制单机流量,保证了服务的可用性。
-
在CentOS 8(2核4G)环境下部署Nginx、Tomcat、MySQL、Redis、RocketMQ,采用JMeter进行
压测,商品详情页SPS达到3900+,下单操作TPS达到4100+。