Spring Cloud 组件
Spring Cloud focuses on providing good out of box experience for typical use cases and extensibility mechanism to cover others.
- Distributed/versioned configuration
- Service registration and discovery
- Routing
- Service-to-service calls
- Load balancing
- Circuit Breakers
- Global locks
- Leadership election and cluster state
- Distributed messaging
服务注册和发现
Service registration and discovery,服务注册与服务发现,代表组件:
负载均衡
Load balancing,负载均衡,代表组件:
服务调用
Service-to-service calls,服务调用,代表组件:
服务熔断降级
Circuit Breakers,服务熔断,代表组件:
其中Hystrix已经停止更新了,Hystrix官方建议使用resilience4j
Hystrix is no longer in active development, and is currently in maintenance mode.
Hystrix (at version 1.5.18) is stable enough to meet the needs of Netflix for our existing applications. Meanwhile, our focus has shifted towards more adaptive implementations that react to an application’s real time performance rather than pre-configured settings (for example, through adaptive concurrency limits). For the cases where something like Hystrix makes sense, we intend to continue using Hystrix for existing applications, and to leverage open and active projects like resilience4j for new internal projects
微服务网关
Gate Way,微服务网关,代表组件:
配置中心
Distributed/versioned configuration,配置管理,配置中心,代表组件:
服务链路追踪
Trace;a distributed tracing solution,Spring Cloud Sleuth。
业界代表组件:
- Zipkin
- Cat
- SkyWalking
- pinpoint
- Jaeger
参考资料:https://opentelemetry.io/docs/java/
服务总线
Spring Cloud Bus links nodes of a distributed system with a lightweight message broker. This can then be used to broadcast state changes (e.g. configuration changes) or other management instructions. AMQP and Kafka broker implementations are included with the project.
spring-cloud-bus,状态变更推送,配合Config可实现动态配置。