Springcloud distributed development of the five great Gods and beasts
Service Discovery--netflix Eureka
Customer-side Load Balancing--netflix Ribbon
Circuit Breaker--netflix Hystrix
Service Gateway--netflix Zuul
Distributed configuration--spring Cloud Config
Eureka
A restful service that locates Middle-tier services running in the AWS Region. Consists of two components: the Eureka Server and the Eureka Client. The Eureka server serves as the service registration Server. The Eureka client is a Java client that simplifies the interaction with the server, acts as a polling load balancer, and provides failover support for the Service. Netflix uses additional clients in its production environment, which provides weighted load balancing based on traffic, resource utilization, and error State.
Ribbon
Ribbon, which mainly provides customer-side software load Balancing Algorithms.
The Ribbon client component provides a complete set of configuration options, such as connection timeouts, retries, retry algorithms, and so On. The Ribbon incorporates pluggable, customizable load Balancing Components. Here are some of the load balancing strategies that are used:
Simple Poll Load Balancing
Weighted response Time Load balancing
Zone-aware Polling Load Balancing
Random Load Balancing
The Ribbon also includes the following features:
Easy integration with service discovery components like Netflix's Eureka
Using Archaius to complete runtime configuration
Use JMX to expose operational metrics and publish using servo
Multi-pluggable Serialization Options
Asynchronous and batch operations (coming Soon)
Automatic SLA Framework (coming Soon)
System Management/indicator Consoles (coming Soon)
Hystrix
A circuit breaker can prevent an application from trying to perform an operation multiple times, which is likely to fail, allowing it to continue without waiting for failback or wasting CPU cycles, and it determines that the failure is Persistent. The circuit breaker mode also enables the application to detect if a failure has been resolved. If the problem seems to have been corrected??, the application can try to invoke the Operation.
The circuit breaker adds stability and flexibility to a system that provides stability while the system recovers from the failure and minimizes the performance impact of this Failure. It can help to quickly deny requests to an operation that is likely to fail rather than wait for the operation to time out (or not return) to maintain the System's response Time. If the circuit breaker raises an event each time the state changes, the information can be used to monitor the health status of the parts of the system protected by the circuit breaker, or to alert the administrator when the circuit breaker trips to the open State.
Flow chart
Zuul
Similar to nginx, the function of reverse proxy, but Netflix itself added some features to cooperate with other Components.
Spring Cloud Config
This is still static, with spring Cloud Bus to implement dynamic configuration Updates.
Reference
The Netflix Stack Using Spring boot-part 1:eureka
Netflix open source one of their other Architectures--eureka
Eureka Run example of application client clients
Eureka Service client registration and running sample
Deployment of Eureka servers under Linux
Spring Cloud Source parsing: an annotation loaded Eureka client
Spring-cloud & Netflix Source parsing: Eureka client-to-server Call Process
Spring-cloud & Netflix Source parsing: Eureka Client registration process
Spring-cloud & Netflix Source parsing: Eureka Service Registration Discovery Interface
Netflix releases cloud mid-tier services open Source Project Ribbon
Integration of the Ribbon and Eureka
Circuitbreaker
Circuit Breaker Pattern ( 必读
)
Circuit Breaker Mode
Netflix Zuul vs Nginx performance
Original Address: 1190000005029218
Springcloud distributed development of the five great Gods and beasts