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.
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|| ||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|| ||Compatible||You can directly use the service discovery and distributed tracing functions of EDAS.|
|Configuration management || ||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 || ||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 || ||Compatible, with an equivalent component||EDAS provides RocketMQ Binder for replacement. It can be used with other components.|
|Message bus: Spring Cloud Bus || ||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||- |
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|
Note: Spring Cloud Alibaba Nacos Discovery and Spring Cloud Alibaba Nacos Config are the corresponding open-source components of ANC and ACM.
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.