目前在公司主要从事微服务电商项目开发,主要参与项目需求讨论、研发阶段、分布式环境部署、技术难题解决、上线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实现微服务平台单点登陆开发