All Products
Search
Document Center

Spring Cloud overview

Last Updated: Apr 30, 2019

EDAS supports the native Spring Cloud microservice framework. For the microservices developed under this framework, you only need to add dependencies and modify their configurations to obtain EDAS microservice hosting, microservice management, monitoring and alarm, application diagnosis, and other capabilities. This ensures zero code intrusion.

Spring Cloud provides a series of standards and specifications to simplify application development,covering service discovery, load balancing, fusion, configuration management, message event triggering, and message bus. In addition, Spring Cloud provides implementation components for service gateways, distributed tracing, security, distributed task scheduling, and distributed task coordination.

Currently, the most popular Spring Cloud implementation components in the industry include Spring Cloud Netflix, Spring Cloud Consul, Spring Cloud Gateway, and Spring Cloud Sleuth. Spring Cloud Alibaba, an open source middleware recently developed by Alibaba, is also a very popular implementation component in the industry.

For the applications developed by using Spring Cloud components such as Spring Cloud Netflix and Spring Cloud Consul, you can directly deploy them to EDAS and enable the application hosting capability. In addition, you can directly use the advanced monitoring functions provided by EDAS without modifying any code, enabling monitoring functions such as distributed tracing, monitoring and alarm, and application diagnosis.

To use more service management functions in EDAS to manage your Spring Cloud applications, replace your Spring Cloud components with those in Spring Cloud Alibaba or add the Spring Cloud Alibaba component.

Compatibility

Currently, EDAS supports Spring Cloud Greenwich, Spring Cloud Finchley and Spring Cloud Edgware. The details for version mapping relationship of Spring Cloud, Spring Boot and Spring Cloud Alibaba, see Version mapping notes.

The following table shows the compatibility between Spring Cloud functions, other implementation components, and EDAS.

Function Component Compatibility with EDAS Description
Common functions Service registration and discovery
  • Netflix Eureka
  • Consul Discovery
Compatible, with an equivalent component
EDAS provides ANS for replacement.In addition to the service registration and discovery function of Spring Cloud, ANS also provides many other service management functions.
Load balancing Netflix Ribbon Compatible You can directly use Spring Cloud with the service registration and discovery component of EDAS.
Service call
  • Feign
  • RestTemplate
Compatible You can directly use the service discovery and distributed tracing functions of EDAS.
Configuration management
  • Config Server
  • Consul Config
Compatible, with an equivalent component EDAS provides ACM for replacement.In addition to the service registration and discovery function of Spring Cloud, ACM also allows configuration management in the EDAS console and provides real-time refreshing and push track viewing.
Service gateway
  • Spring Cloud Gateway
  • Netflix Zuul
Compatible You can directly use the service discovery, configuration management, and distributed tracing functions of EDAS.
Distributed tracing
Spring Cloud Sleuth Compatible, with an equivalent component EDAS provides ARMS for replacement.To use ARMS, you only need to enable advanced monitoring in the EDAS console, without modifying any code or dependencies.In addition to the distributed tracing function, ARMS also provides functions such as complete troubleshooting and thread analysis.
Message-driven: Spring Cloud Stream
  • RabbitMQ binder
  • Kafka binder
Compatible, with an equivalent component EDAS provides RocketMQ Binder for replacement. It can be used with other components.
Message bus: Spring Cloud Bus
  • RabbitMQ
  • Kafka
Compatible, with an equivalent component EDAS provides RocketMQ Bus for replacement. It can be used with other components.
Security
Spring Cloud Security Compatible -
Distributed task scheduling
Spring Cloud Task Compatible -
Distributed coordination
Spring Cloud Cluster Compatible -

Version mapping notes

The mapping relation among Spring Cloud, Spring Boot, Sring Cloud Alibaba and EDAS commercial components is shown in the following table.

Spring Cloud Spring Boot Spring Cloud Alibaba EDAS commercial components
ANS ACM SchedulerX
Greenwich 2.1.x 0.9.0.RELEASE 0.9.0.RELEASE 0.9.0.RELEASE 0.9.0.RELEASE
Finchley 2.0.x 0.2.2.RELEASE 0.2.2.RELEASE 0.2.2.RELEASE 0.2.2.RELEASE
Edgware 1.5.x 0.1.2.RELEASE 0.1.2.RELEASE 0.1.2.RELEASE 0.1.2.RELEASE

Note: Spring Cloud Alibaba Nacos Discovery and Spring Cloud Alibaba Nacos Config are the corresponding open-source components of ANC and ACM.

Documentation

  • To replace the service discovery component (such as Spring Cloud Eureka or Spring Cloud Consul) with the spring-cloud-alicloud-ans component provided by EDAS, you only need to modify the dependencies and configurations, and not the code.For more information, see Service discovery.

  • To replace the configuration management component (such as Spring Cloud Config or Spring Cloud Consul) with the spring-cloud-alicloud-acm component provided by EDAS, you only need to modify the dependencies and configurations, and not the code. For more information, see Configuration management.

  • If you are using a service gateway but want to use the service registration and discovery, configuration management, and rate limiting and degradation functions provided by EDAS, you only need to introduce the starter dependencies and modify the configurations. For more information, see Service gateways.