很多朋友想学习 Spring Cloud 微服务技术,但又不知道如何着手,本篇文章将对 Spring Cloud 微服务技术架构进行详细的讲解,帮助那些想使用 Spring Cloud 搭建自己的微服务框架的朋友。
首先,我们先看一下微服务技术架构图
从上面的架构图中我们大概了解了 Spring Cloud 中使用的基础组件,接下来将讲解这些核心组件的作用,帮助大家对Spring Cloud 微服务架构有一个全面的了解。
- 路由网关 Spring Cloud Zuul
Zuul 是作为微服务系统的网关组件,致力于动态路由、过滤、监控、弹性伸缩和安全。
- 服务注册和发现 Eureka
Eureka 是作为微服务系统的服务注册与发现组件,提供服务注册和发现功能。
- 网络请求 RestTemplate
RestTemplate 是一个访问 RESTful API 接口的网络请求框架。
- 负载均衡 Ribbon
Ribbon 是一个负载均衡组件,Ribbon作为服务消费者的负载均衡器,一种是和 RestTemplae结合,一种是和 Feign 相结合,Feign 默认集成了 Ribbon 。
- 声明式调用 Feign
简单方便的调用 Spring Cloud 服务的工具,让 Java Http 客户端调用过程变得简单。
- 配置中心 Config
将配置文件进行统一管理,可以从 Config Server 服务或 Git 仓库读取。
- 熔断器 Hystrix
Hystrix 提供了熔断器的功能,能够阻止分布式系统中出现联动故障。
- 服务链路追踪 Sleuth
Sleuth 是 Spring Cloud 中的一个组件,主要功能是在分布式系统中提供服务链路追踪的解决方案。
- 服务监控 Spring Boot Admin
Spring Boot Admin 用于管理和监控一个或多个 Spring Boot 程序,使用 Spring Boot Admin 监控 Spring Cloud 微服务。
- 消息总线 Bus
Spring Cloud Bus 将 Spring 的事件处理机制和消息中间件消息的发送和接收整合起来,可以轻松的将分布式应用中连接有消息中间件的多个服务节点连接起来,实现消息互通。
- 系统保护
为保证服务的安全,微服务系统需要增加安全验证,常用的方式是增加 Spring Security 或Spring OAuth2 框架来保护微服务系统。
以上是 Spring Cloud 微服务系统架构核心组件,本篇文章主要对 Spring Cloud 系统架构进行讲解,之后的文章会对 Spring Cloud 微服务技术所用到的组件进行更详细实例讲解。