开发者学堂课程【Spring Cloud Alibaba Nacos 详解(下):Spring Cloud Alibaba综合架构实战总体架构介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/725/detail/12939
Spring Cloud Alibaba 综合架构实战-总体架构介绍
内容介绍
一、总体结构
一、 总体结构
Spring Cloud Alibaba 综合集成架构演示
前面说到,Spring Cloud 是一个较为全面的微服务框架集,集成了如服务注册发现、配置中心、消息总线、负载均衡、断路器、API 网关等功能实现。
而在网上经常会拿 Spring Cloud 与阿里巴巴的 Dubbo 进行选择对比,这样做其实不是很妥当,前者是一套较为完整的架构方案,而 Dubbo 只是服务治理与RPC 实现方案。
Dubbo 在国内有着非常大的用户群体,并且 Dubbo 的 RPC 远程调用性能非常高,因此大家都想用 Dubbo 来做微服务之间的远程调用,同时也希望使用 Spring Cloud 这一全面开发的生态,因此也会有一些Spring Cloud与 Dubbo一起使用的案例与方法出现,但是一直以来,大部分Spring Cloud 整合 Dubbo 的使用方案都不完善。直到Spring Cloud Alibaba 的出现,才得以解决这样的问题。
系统架构图如下:
该系统架构包括这个微服务架构的一些关键组件。
首先,客户端请求到网关,网关就是对客户端请求的一个统一的拦截,会对请求进行过滤,也会对请求进行路由,将请求路由到具体的一个服务。
网关接收到客户端请求之后把请求过滤,并把请求路由到具体的服务,这一层application 叫应用层,这个应用层主要是针对用户请求的。应用层要进行业务处理,就依赖于微服务层。
所有网关这一层,可以把它叫做接入层,application这一层,可以把它叫做应用层,service 这一层,可以把它叫做微服务层。
整个系统架构的优点是微服务层的功能相对是比较稳定的,而应用层单独抽取出来的好处就是可以针对用户的需求变更来快速的进行开发多个应用层,可以开发 Application1、Application2,都依赖于下面的微服务层。
但是微服务层的功能是比较稳定的,它相当于是抽取出来的一些比较稳定、比较通用的一些微服务,供应用层来使用。这就是这套架构的好处,就是应用层可以根据用户的需求变化,快速的进行开发迭代,微服务层相对比较稳定,给应用层提供支撑。
另外还有一个好处,就是在网关调用应用层,客户端通常是基于 HTTP 协议,所以应用层对外暴露的是 HTTP 协议,微服务之间进行网络交互要考虑性能问题,所以我们让它采用 Dubbo 协议,包括应用层来调用微服务也采用 Dubbo 协议。
所以它的好处就是,我们对客户端还是暴露 HTTP 协议,但是微服务之间的交互让他使用 Dubbo 协议,这样我们就弥补了微服务之间采用 HTTP 交互的性能问题。
它们每一层都把自己注册到服务的发现中心,Nacos 不仅有服务发现,还有配置管理,所以 Nacos Server 的好处就是集配置管理和服务发现于一身,所有的微服务的配置都可以从 Nacos 来进行读取,通过 Nacos 进行管理,所有的微服务的服务发现都可以通过 Nacos 来进行发现,所以这种架构相比于 spring cloud提供的配置中心、服务发现中心两个功能,它是把两个功能集为一身,这也是他的第三个优点。
这就是生产实践当中比较好用的一种 Spring Cloud Alibaba 的系统架构。