1.java基础知识,集合,IO流,线程
2.javaweb知识,js,JQuery,React等前端
3.SpringCloud,Springboot,Spring,Mybatis等框架
4.MYSQL,Oracle等数据库
5.Nginx负载均衡,RestFul接口风格
6.Redis缓存,RabbitMQ消息队列,kafka消息队列
7.Maven项目管理,SVN,Git版本管理等使用,Swagger接口调用及Mock测试
8.JVM调优,熟悉Linux,Docker和k8s
项目名称:FOTA升级管理系统
岗位职责:java开发
项目背景:
Fota云端升级系统,对车联网系统做东风,红旗,海马等相关大企业务为具有连网功能的车机端提供固件升级服务,按需、易扩展的方式获取智能终端系统升级包,并通过FOTA进行云端升级,完成系统修复和优化,最终完成车辆系统升级。通过mqtt协议发送数据到车机终端。平台设计车机终端于云平台大量交互,达到数据与云端平台信息对接。
项目架构:
SpringBoot+SpringCloud+Mybatis-plus+redis+kafka+React
技术要点及负责内容:
1. 前后端分离开发,前端用React 采用Ant.design的框架开发,
2. 后端采用SpringBoot+SpringCloud+Mybatis-plus
3. 分布式开发:使用Seata解决分布式事务
4. 高并发处理:车辆信息等数据较大信息查询时同步到Redis中;分库分表,每个微服务都有自己相关的数据库等其他手段。
5. 数据采集:创建定时任务监听mqtt发送的topic,将数据解析丢到kafak中推送给大数据处理然后入库。
6. 发布升级计划模块:使用mqtt将版本包发送到车机端。
7. 项目模块十几万数据导出导入采用EasyExcel。
8. 项目部署:gitlab,Jenkins,docker,k8s自动化发布
工作流程:
敏捷开发,每早例会汇报前一天任务计划今天任务。有4个开发环境,3个环境都测通过最终上生产环境,采用jira查看bug和计划任务,开发自测后在jira上提测,测试通过申请发布。
项目名称:上有农产品电商平台高并发秒杀优化
岗位职责:java开发
项目背景:
B2C商城针对农产品方向。用户可以在线购买商品,并在线执行移动支付,针对不同时节不同分类商品,用户还可以抢购不同优惠商品,甚至可以直接低价秒杀抢购,多买多优惠,买的越多越有几率获得优惠券,优惠券可以抵扣商品价格。
项目架构:
SpringBoot+SpringCloud+Mybatis+RabbitMQ+Redis
负责内容:
1. 登录模块:采用Spring security做单点登录,使用JWT来做鉴权,采用Oauth2.0做第三方认证
2. RestFul风格接口模式开发
3. 解决秒杀高并发:将秒杀商品及详细信息定时缓存到Redis中
4. 使用队列削峰处理高并发问题
5. 解决秒杀业务防止重复下单,超卖等问题
6. 高并发限流:Nginx限流+Gateway限流。此架构可以优化为OpenResty(Nginx+lua脚本)
解决问题:
在高并发的条件下主要思路就是减少数据库的访问,减少数据库的压力,其中加入Redis缓存,开启多线程异步下单,配合Nginx和网关进行限流,再用JMeter进行压力测试,观察QPS的值。