Springcloud distributed development of the five great Gods and beasts

Source: Internet
Author: User

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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.