系统架构演变过程
- 刚开始是一个单体架构,很多朋友找我要演示包,每个演示包都需要在代码打包前配置
application.yml
里的MySQL
、Redis
、Minio
等信息,特别麻烦。 - 引入
Nacos
,有需要演示的朋友,直接发演示包,自行配置MySQL
、Redis
、Minio
等信息。 - 问题又来了:不同的朋友需要演示包内包含不同平台的店铺,为了安全问题,我不得不每次打包的时候手动屏蔽一些代码,导致打包工作量巨大。
- 考虑引入微服务架构。
- 测试Dubbo微服务,发现Dubbo微服务比较重,微服务增加或减少还是的修改代码,无法实现热拔插效果。
- 测试SpringCloud架构,SpringCloud微服务基于Http协议,比Dubbo来说会稍微慢一点,但是它能很好的隔离微服务之间的耦合,彻底实现热拔插效果。
- 最终选定SpringCloud作为启动电商ERP系统的最终架构。
架构说明
- 网关:使用SpringCloud Gateway+loadbalancer+Nacos实现读取微服务自动负载均衡。
- Nacos:服务注册中心和配置中心。
- 开放平台微服务群:支持淘宝、京东、拼多多、抖店、快手、视频号电商