大家好,今天分享的是我最近在公司刚实现的一套微服务架构,用作于公司基础性服务(例如搜索,Passport Server,分布式任务调度系统等)
以下是整体架构
可以看出,可以分为7个模块,整体是分层架构
- 反向代理层
- 网关层
- 服务层
- 存储层
- 服务治理中心
- 配置中心
- 消息总线
下面简单的介绍下这7个模块
1反向代理层:
首先这个模块的的主要作用是为了对外屏蔽内部集群,常见实现有很多比如我用的最多的Nginx就是其中之一,但是这里我选择Zuul。
优势:
- SpringCloud对Zuul做了很全的集成,搭建各方面都很方便。
- Zuul在微服务架构中本身也属于一个微服务,好处就很明显了,我们可以通过治理中心全方位的监控服务状态
- 虽然性能方面Zuul需要一定的预热但是短时间预热后性能和Nginx基本相当
但是有些问题,我们都知道在微服务架构中所有服务均依赖于网关,而且整个架构中可能会有多个系统或者项目,那么网关的重要性就显而易见