ID:337418

蔡晶盛

java开发助理工程师

  • 公司信息:
  • 湖南硅谷
  • 工作经验:
  • 1年
  • 兼职日薪:
  • 500元/8小时
  • 兼职时间:
  • 周六
  • 周日
  • 可工作日远程
  • 所在区域:
  • 长沙
  • 全区

技术能力

熟悉redis,elasticsearch,rabbitmq,mysql的使用。
了解分布式锁的实现,例如基于排它锁、基于redis等。
熟悉springcloud 2020。
熟悉SSM以及SpringBoot、tkmybatis和mybatis plus。
熟悉docker的使用

项目经验

B2C商城
架构:SpringCloud + RabbitMQ + ElasticSearch + Canal + Nginx + Redis + MySQL + Mybatis Plus

品牌微服务
商品管理CRUD, 使用FastDFS实现图片上传。商城门户页数据缓存方案:通过openresty的内置nginx对IP进行限流,通过lua脚本读取redis缓存的商品分类信息缓存,加载进Nginx缓存中。若Redis中也不存在,则先查询数据库,加载进redis缓存。同时开启MySQL的binlog,通过Canal监听MySQL的数据表同步更新缓存。

商品详情页静态化微服务
使用thymeleaf模版引擎,生成静态商品详情页,并存入Nginx中。同时使用canal监听MySQL,更新商品详情页

搜索微服务
根据商品spu构建ES索引文档, 索引的信息包括:商品标题、分类名称、品牌、可搜索的spu和sku等。

使用Spring Data ElasticSearch API实现搜索、品牌聚合搜索、分类聚合搜索、搜索结果分页及排序等。

Oauth2授权微服务
Oauth2 Password Grant Type基于JWT的非对称加密颁发token、使用keytool生成的私钥颁发令牌,公钥解析令牌。发放管理员令牌供feign调用。

秒杀微服务
开启SpringBoot定时任务,通过cron表达式,定时的将秒杀商品哈希存储到redis。
用户访问Nginx服务器,Openresty Nginx服务中通过Lua脚本从redis中获取秒杀商品列表 - > 再通过lua脚本从redis中获取秒杀商品详情,判断是否有库存 -> 将用户秒杀排队信息,leftPush存入redis的list队列中。-> 取出排队信息,进行多线程抢单。同时使用Redisson 为抢单过程加上分布式锁,防止商品超卖问题。抢单成功后,向MQ发送异步消息,监听用户是否支付,五分钟内未支付,消息进入死信队列,监听死信队列取消订单回滚库存。支付成功,再将库存变化从redis同步到MySQL

信用行为

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

发布任务

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

微信接收人才推送

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

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