1.将mall项目分服务,数据分库
数据库拆分:
UMS:用户数据
PMS:产品数据
OMS:订单数据
SMS:营销活动数据
2.服务之间通信选择RPC框架Dubbo
3.ORM框架mybatis升级成mybatis-plus
4.产品搜索基于ES,使用canal完成ES与Mysql之间的数据一致性
5.基于Redis,Rabbitmq增加秒杀服务
6.基于离线数仓技术增加推荐服务
7.选用seata做分布式事务
8.基于ELK做日志系统
项目整体技术选型介绍:
部署:Docker,
代码管理:GitHub,Jenkins
中间件:
NoSQL:Redis,
消息队列:Rabbitmq,Kafka
文档检索:Es
数据同步:canal
组件:
注册中心,配置中心:Nacos
网关:Spring Cloud Gateway
认证中心:Spirng Secours
任务调度中心:XXLJob
服务监控:Spring Admin
链路追踪:ZipKin
日志:ELK
分布式事务:Seata
框架:Dubbo3+Spring Boot
数据库:MysqlMaster,MysqlSlave
技术架构图: