微服务架构的名字里虽然有个"微",但它涉及的整体架构体系可一点也不"微",微服务架构除了业务代码的开发以外,还需要很多的支撑服务。
每个公司都有自己的微服务架构体系,虽然在细节上有很多不同,但是整体的思路是类似的,下图展示了一个比较成熟的微服务架构体系。
这个体系按照请求接入,由外到内的顺序,将整体架构分为接入层、网关层、业务服务层、支撑服务层、平台服务层和基础设施层六层。
接入层
最外层是接入层,通过负载均衡接入请求到内部平台,这些请求既有外部互联网请求,也有公司内部其它系统的请求。
网关层
网关层是微服务架构的核心层,是业务层接收外部流量的屏障。
网关层的主要作用:
- 对接入的流量进行反向路由。
- 拦截所有的请求,通过横切的方式完成熔断、限流、安全认证等功能。
- 对请求进行分类,例如内部网关、H5网关、图片网关。
业务服务层
我们常说的微服务就集中在这一层,这里包含了系统核心的业务逻辑。业务服务层可以简单的划分为聚合层与基础层。
基础层提供单一简单的基础服务,例如人员、订单、支付。聚合层则是将不同的基础层聚合在一起,完成复杂的业务处理。
支撑服务层
支撑服务层提供非业务功能,以支撑业务服务层和网关层软件的正常运行。
核心模块有服务注册发现、集中配置、