众家联 -- 线上家具交易平台
线上地址:https://www.ufa.hk/mall/index.html
开发工具 : IntelliJ IDEA+ GIT + Maven
工作时间 :2018年4月 - 2020年10月
项目描述 : 该项目是一个B2B线上家具交易平台,致力于打造全国最大的线上家具交易平台,整体项目采用的是Spring家的Spring Boot+ Spring Cloud 组件做底层支撑,整个项目共包括了会员系统、产品系统、交易系统、订单系统、财务系统、规则设置、平台信息设置及发布、客服系统/帮助中心 八大核心模块.考虑到项目的安全性、海量数据、高并发,该项目采用的是分布式架构.将整个项目进行水平分割,
参与整个项目核心模块的开发,例如:
会员模块,商品详情页的设计与开发,活动秒杀模块、商品的搜索服务、聚合支付平台的开发、类似于京东的购物车服务、整个项目的缓存架构等
项目的核心技术 :
1、整个项目基于Spring boot + Spring Cloud构建微服务项目、使用Spring Cloud Alibaba Nacos做注册和配置中心,实现服务治理
2、使用Spring Cloud Gateway 网关,并且配置Spring Cloud Alibaba Sentinel 实现服务网关的限流等操作
3、使用Spring Cloud Alibaba Sentinel对整个项目的服务进行服务的降级、熔断、隔离、限流等保护
4、使用CAS + JWT 实现微服务SSO单点登录
5、使用Redis实现整个项目的缓存架构
6、使用ElasticSearch 实现分布式搜索服务
7、使用RabbitMQ完成整个项目的异步操作
其中分布式解决方案:
8、项目统一使用分布式任务调用平台XXL-Job管理任务调度
9、使用分布式日志采集系统ELK+filebeat+Kafka实现微服务统一日志管理
10、分布式事务解决方案、分布式锁解决方案(主要是基于Zookeeper)
11、分布式Session框架Spring Session ,落地到Redis。分布式服务链路追踪Sleuth + Zipkin
项目运营与部署:
12、整个项目基于Docker进行统一的安装部署
13、使用Jenkins + Docker 配合K8s 的KUBESPHERE 实现项目自动的持续集成和持续交付和部署
14、微服务API管理ApiSwagger、使用GitLab管理代码
15、项目使用第三方腾讯云数据库、使用七牛云服务器对静态资源实现加速
16、构建企业级Maven私服管理微服务接口调用依赖关系
各个服务的技术介绍:
搜索服务:
整个项目的搜索服务都是基于分布式搜索引擎ES来实现的。参与了项目的针对于所有商品的搜索关键字的实例设计。将ES搜索实例与MySql中的存储实例剥离开,做到ES服务内存使用率的最大化。在后台将商品上架之后,会将商品的SPU与SKU进行封装存储到ES中。
责任描述:
1.参与了对商品实体的重构与封装
2.商品上架时,使用Feign调用搜索服务中的上架接口,同步实现商品的搜索服务
3.商品详情页做了整体的缓存支撑。其中包含了对热门商品的预热,对
缓存服务:
整个项目都是基于一套缓存解决方案来提高整个项目的响应速度,和后台的安全性。
责任描述:
1.对项目的商品详情进行了缓存。提高整个网站的响应速度,提高了整个项目的健壮性。
2.缓存预热。在每天凌晨年两点,定时任务会对热门商品进行一次缓存的预热。
3.在对商品进行缓存的同时,还对整个项目的资源进行了动静分离。
会员服务:
参与整个项目的会员注册与登录功能,联合微信登录。实现了全项目的单点登录功能。
责任描述:
1.负责会员登录的整个注册和登录流程。
2.负责会员服务核心模块开发(令牌Token登录和多端唯一接口的开发),实现SSO单点登录。
3.负责会员服务微信联合登录功能开发
4.使用Spring Session 将整个用户信息保存全局,实现session同步
订单服务:
参与订单服务的取消、定时关单等操作。订单在15分钟之内没有完成付款的用户,进行短信的异步通知,如果超过半个小时,则进入自动关单流程。
责任描述:
1.主要是使用MQ进行异步的关单操作。
2.其中所有关于订单的操作都进行的异步编排,在调用多个服务之间进行优化处理。
3.对订单的状态实现多种对应方式,自动关单,对账,解锁库存等
购物车服务:
参与了购物车的离线用户和登录用户两种模式的开发。基于cookie技术实现了离线用户到登录用户的购物车同步功能