ID:398249

Shmily

java开发工程师

  • 公司信息:
  • 广州市融易技术有限公司
  • 工作经验:
  • 1年
  • 兼职日薪:
  • 500元/8小时
  • 兼职时间:
  • 周六
  • 周日
  • 可工作日远程
  • 所在区域:
  • 广州
  • 天河

技术能力

熟悉 Vue 的使用,单独开发过前端页面
熟悉 javaSE 、有基于三层架构的开发能力
熟悉 mysql 数据库,包括 sql 语句的编写和优化熟悉 javaWeb 、Ajax、jQuery、js
熟悉 Linux 操作系统
熟练 IDEA 开发工具和 Maven 、Git
熟悉 Mybatis 、Mybatisplus 、Spring 、SpringMVC熟悉 SpringBoot 、SpringCloud
熟悉 Dubbo 、RabbitMQ 、Redis 、Docker 、Nginx 等中间件使用过 Docker 搭建 Redis 的三主三从 、Mysql 的主从复制

项目经验

秒杀系统
项目介绍:
秒杀系统其实是针对商品库存做的系统。用户成功秒杀商品,对于系统的操作就是减库存和记录下单明细。技术栈:
前端:Thymeleaf 、Bootstrap、Jquery
后端:SpringBoot 、MybatisPlus 、mysql中间件:RabbitMq 、Redis
压测工具:Jmeter功能模块:
1.超买解决:
(1)下单成功时把用户 id +商品 id 作为 key 存进 redis ,再次购买时校验 key 是否存在,实现一个用户只能购买一次同一商品,从而实现减少数据库的访问量 。
(2)在数据库的秒杀订单表为 userId 、goodsId 添加联合索引解决超买
2.超卖解决:
减库存时,在 sql 语句条件后添加库存大于0,原子性操作解决超卖问题
3.接口优化: (1)页面优化:
页面缓存:每次都是请求 thymeleaf 渲染可以用缓存 ,存进整个页面 从 redis 中取页面设置超时时间60秒
(2)服务优化:
下单之后采用 RabbitMQ 进行异步插入用户收货地址信息,提升响应速度
(3)安全优化:
隐藏秒杀地址:点击秒杀按钮会请求到后端,随后产生随机 path 并以 key为 seckill+userId+goodsId 存入 redis ,页面请求成功会发送请求到真实秒杀地址,并且通过获取到的 value 校验 path 是否正确
接口防刷:秒杀前需要图形验证码 ,用户输入的结果有快有慢 ,可以以一定的减少数据库的访问量
接口限流:基于 redis的 string 数据结构实现接口限流 ,控制每个用户每1s内只能请求1次接口 ,缓解服务器压力

信用行为

  • 接单
    0
  • 评价
    0
  • 收藏
    0
微信扫码,建群沟通

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系需求方端客服
联系需求方端客服