Spring Cloud教程-微服务的组件
微服务的组件
以下是微服务的组件:
- Spring Cloud Config Server
- Netflix Eureka 命名服务器
- Hystrix 服务器
- Netflix Zuul API 网关服务器
- Netflix Ribbon
- Zipkin 分布式跟踪服务器
Spring Cloud Config Server
Spring Cloud Config Server 为分布式系统中的外部配置提供基于HTTP资源的API。我们可以通过使用注解 @EnableConfigServer 来启用 Spring Cloud Config Server。
Netflix Eureka 命名服务器
Netflix Eureka 服务器是一个发现服务器。它提供用于与外部通信的 REST 接口。微服务启动后,会将自己注册为发现客户端。Eureka 服务器还有另一个软件模块称为 Eureka 客户端。Eureka 客户端与 Eureka 服务器交互以进行服务发现。Eureka 客户端还负责负载均衡。
Hystrix 服务器
Hystrix 服务器充当了一个容错鲁棒的系统。它用于避免应用程序的完全故障。它通过使用断路器机制来实现。如果应用程序正常运行,断路器保持关闭状态。如果应用程序遇到错误,Hystrix 服务器会打开断路器。Hystrix 服务器停止向调用服务发送进一步的请求。它提供了一个非常健壮的系统。
Netflix Zuul API 网关服务器
Netflix Zuul 服务器是一个网关服务器,所有客户端请求都经过它。它充当客户端的统一接口。它还具有内置的负载均衡器,用于平衡来自客户端的所有传入请求的负载。
Netflix Ribbon
Netflix Ribbon 是客户端端的进程间通信(IPC)库。它提供了客户端端的负载均衡算法。它使用循环调度的负载均衡算法:
- 负载均衡
- 容错性
- 多协议(HTTP、TCP、UDP)
- 缓存和批处理
Zipkin 分布式服务器
Zipkin 是一个开源项目,提供了发送、接收和可视化跟踪的机制。
还有一件需要注意的事情是端口号。
应用程序 | 端口号 |
---|---|
Spring Cloud Config Server | 8888 |
Netflix Eureka 命名服务器 | 8761 |
Netflix Zuul API 网关服务器 | 8765 |
Zipkin 分布式跟踪服务器 | 9411 |