1.熟练掌握JavaSE基础知识,熟悉多线程与并发编程,拥有丰富的系统设计分析能力及面向对象分析和设计能力,熟悉常用的设计模式(单例、工厂、代理、建造者、观察者、策略等)及反射、自定义注解、泛型等;
2.熟练掌握Eclipse/IDE、Svn、Git、Maven、Docker等开发及版本控制工具,熟练掌握Java基础技术Jsp、Servlet、Jdbc、熟练掌握Web应用系统开发,具备独立开发能力;
3.熟悉网络通讯技术Socket、Netty、NIO、WebSocket、Http;
4.熟悉JVM参数调优、性能检测工具、生产环境服务器JVM调优配置、压力测试工具JMeter、阿里代码扫描工具;
5.熟练使用Tomcat/JBoss/Jetty服务器,发布部署web项目,熟练使用Nginx+Keepalived实现服务高可用;
6.熟练使用Oracle、MySQL、SQLServer等关系型数据库,熟练使用Redis、MongoDB等非关系型数据库及搜索服务框架Elasticsearch和Lucene;
7.熟练运用Spring、SpringMVC、Mybatis、SpringBoot2.0等开源框架,熟悉Spring的IOC、DI、AOP设计思想;
8.熟悉SOA、分布式、微服务、大型网站架构,熟悉RPC远程调用、Dubbo、Duboox、SpringCloud等微服务框架;
9.熟悉SpringCloud常用组件、注册中心Eureka、Consul、负载均衡器Ribbon、客服端调用工具Rest和Feign,分布式配置中心Config和携程阿波罗,服务断路器Hystrix,服务网关Zull、Gateway,Api管理Swagger,服务链路Zipkin,消息总线Bus等;
10.熟练使用网络通讯协议,熟练使用json、xml通讯协议,熟悉常见的消息中间件ActiveMQ、RocketMQ、kafka使用;
11.熟悉Restfull API开发规范,熟悉三方授权OAuth协议、JWT协议、对接第三方支付接口(银联、支付宝、微信支付)及微信公众号开发;
12.熟悉分布式协调工具Zookeeper、集群,高可用,高并发解决方案服务降级、限流、熔断、隔离等,熟悉分布式和微服务常见解决方案(如:分布式任务调度平台、分布式服务追踪与调用链、分布式Se
目前在公司主要从事微服务电商项目开发,主要参与项目需求讨论、研发阶段、分布式环境部署、技术难题解决、上线CDN部署等。
参与微服务电商项目核心模块的开发、例如:
会员模块(SSO单点登陆、多端唯一登陆、第三方QQ和微信联合登陆等),活动秒杀模块、商品搜索服务、聚合支付平台的研发等。
项目技术架构
A项目核心技术
1.该项目为微服务电商项目,采用目前主流的Springboot2+SpringCloud2构建微服务电商项目、使用SpringCloudEureka作为注册中心,实现服务治理
2.使用Zuul网关框架统一管理服务请求入口,使用Ribbon实现本地负载均衡器和FeginHttp客户端调用工具
3.使用Hystrix服务保护框架(服务降级、限流、熔断、隔离)、使用消息总线Stream Rabbit MQ和Kafka
4.使用CAS+JWT实现微服务单点登陆
B分布式基础设施解决方案
1.项目统一使用分布式调度平台XXL-JOB管理任务调度
2.使用分布式日志采集系统ELK+kafka实现微服务统一日志收集
3.分布式事务结局方案LCN、分布式锁解决方案Zookeeper、Redis
4.使用分布式配置中心携程阿波罗、高并发分布式全局ID生成(雪花算法)
5.分布式Session框架Spring-Session、分布式服务追踪与调用链ZipKin
C.项目运营与部署环境
1.分布式实施环境,统一采用docker安装部署
2.使用jenkins+docker+ks实现自动部署
3.微服务API管理ApiSwagger、使用GitLab管理代码
4.项目使用第三方腾讯云数据库、使用七牛云服务器对静态资源加速
5.构建企业级Maven私服管理微服务接口调用依赖关系
项目一:微服务电商平台
项目名称:微服务电商平台-会员服务/SSO服务
开发时间/开发周期:
使用技术:SpringBoot2.0+SpringCloud2.0+Jenkins+docker+k8s+ApiSwagger+Maven
项目描述:
负责创建会员服务和SSO单点登陆系统项目
负责会员服务核心模块开发(令牌Token登陆和多端唯一登陆接口开发)
负责会员服务QQ和微信联合登陆功能开发
负责SSO单点登陆系统的开发
技术描述:
令牌登陆实现:
客户端(移动端、PC端、微信端)调用会员服务登陆接口成功后,返回对应的Token令牌,有效期90天,客户端保存Token信息,客户端使用令牌关联用户会话信息。
使用UUID随机生成Token令牌、用户登陆成功后会生成对应的Token令牌作为key,存入Redis中,Redis中对应的value为userId,有效期为90天。
唯一登陆实现:
使用数据库记录每次客户端登陆的Token令牌,每次产生新的用户Token都会删除上一次登陆的Token,客户端采用定时器检查当前客户端保存的Token是否过期或者是否重复登陆。
联合登陆实现:
调用腾讯/微信开放平台,使用OAuth2.0授权获取用户相关openid,使用openid关联会员服务账号信息
SSO登陆实现:
使用JWT+CAS实现微服务平台单点登陆开发