Springcloud Five core components

Source: Internet
Author: User

Spring Cloud is comprised of a number of sub-projects, such as Spring Cloud Config, Spring Cloud Netflix, Spring Cloud Consul, and more, providing tools commonly used to build distributed systems and microservices, such as configuration management, service discovery, Circuit breakers, intelligent routing, micro-proxies, control buses, one-time tokens, global locks, select Masters, distributed sessions, and cluster status meet all the solutions needed to build microservices.

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. You are welcome to study the relevant technology to understand the source of friends directly seeking exchange and sharing technology: 2147775633

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.

More detailed source code reference: http://xxx/honghu/technology.html

Springcloud Five core components

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.