系统架构演变过程
刚开始是一个单体架构,很多朋友找我要演示包,每个演示包都需要在代码打包前配置application.yml里的MySQL、Redis、Minio等信息,特别麻烦。
引入Nacos,有需要演示的朋友,直接发演示包,自行配置MySQL、Redis、Minio等信息。
问题又来了:不同的朋友需要演示包内包含不同平台的店铺,为了安全问题,我不得不每次打包的时候手动屏蔽一些代码,导致打包工作量巨大。
考虑引入微服务架构。
测试Dubbo微服务,发现Dubbo微服务比较重,微服务增加或减少还是的修改代码,无法实现热拔插效果。
测试SpringCloud架构,SpringCloud微服务基于Http协议,比Dubbo来说会稍微慢一点,但是它能很好的隔离微服务之间的耦合,彻底实现热拔插效果。
最终选定SpringCloud作为启动电商ERP系统的最终架构。
架构说明
网关:使用SpringCloud Gateway+loadbalancer+Nacos实现读取微服务自动负载均衡。
Nacos:服务注册中心和配置中心。
开放平台微服务群:支持淘宝、京东、拼多多、抖店、快手、视频号电商、小红书电商等主流电商平台。
消息队列:系统支持Redis或Kafka消息队列,可以根据客户喜好切换。
ERP系统核心微服务群:实现了核心业务分析成如下几个微服务:
sys-api:系统基础微服务,功能包括:用户、菜单、权限、登录等。
oms-api:订单处理相关微服务,功能包括:订单管理、发货管理、售后处理、商品管理、店铺管理等核心订单处理相关业务。
scm-api:采购模块相关微服务。
wms-api:仓库模块相关微服务。
今天先聊到这里,下次继续跟大家来剖析启航电商ERP系统