Compared with traditional monolithic architectures, microservices architectures are used in development due to higher efficiency and scalability. If you develop application based on microservices architectures, inter-service coupling and competition states can be reduced, and the iteration and runtime efficiency of the applications can be improved. However, performing O&M tasks in distributed environments is difficult. Serverless App Engine (SAE) is a serverless service that is developed based on microservices architectures. The service provides multiple optimized microservices capabilities to help reduce your learning costs, debugging costs, and O&M costs. Enterprises can use SAE to perform microservices model transformation in an efficient manner. This topic describes the concepts, capabilities, and FAQ about SAE microservices.
Concepts and capabilities
Level 1 category | Level 2 category |
Registry
Usage notes
SAE provides the serverless Nacos registry that allows you to quickly deploy microservices applications to SAE. The built-in Nacos registry is suitable for microservices applications that use the Nacos 1.x or 2.X client. For more information about how to deploy a microservices application to SAE, see Use the SAE built-in Nacos registry. When you use the SAE registry, take note of the following items:
If you select SAE Built-in Nacos, SAE automatically modifies the registry address of the program that you want to deploy by injecting related environment variables and using a Java agent to modify bytecode. You can deploy a program to SAE without the need to modify the program.
The SAE built-in Nacos registry is not suitable for programs that use non-Nacos registries. The related logic is controlled by your program.
This registry is suitable for quick operations or small-scale production environments. If you have more than 30 microservices application instances, we recommend that you use a self-managed Nacos registry or a Microservices Engine (MSE) Nacos registry.
Application configurations
For information about how to configure service registry and discovery, see Use the SAE built-in Nacos registry.
Configuration center
Usage notes
SAE provides the serverless Nacos configuration center. The configuration center is suitable for microservices applications that use the Nacos 1.x or 2.X client. For information about how to use the registry provided by SAE, see Use the SAE built-in Nacos registry. When you use the SAE configuration center, take note of the following items:
If you select SAE Built-in Nacos, SAE automatically modifies the configuration center address of the program that you want to deploy by injecting related environment variables and using a Java agent to modify bytecode. You can deploy a program to SAE without the need to modify the program.
The SAE built-in Nacos configuration center is not suitable for programs that use non-Nacos configuration centers. The related logic is managed by your program.
The configuration center console is provided by Alibaba Cloud Application Configuration Management (ACM). ACM is no longer available for use. However, you can still use the distributed configuration management feature of SAE. We recommend that you use MSE Nacos 2.0 to manage configurations. For more information, see Nacos edition features.
Application configurations
For information about how to configure service registry and discovery, see Use the SAE built-in Nacos registry. For information about how to manage configurations in the SAE console, see Configuration management overview.
Microservices development
IDE-based automatic deployment
You may need to upload a package each time you deploy an application in the SAE console. You can perform integrated development environment (IDE)-based deployment to improve development efficiency.
For more information, see Use Alibaba Cloud Toolkit to automatically deploy a microservices application to SAE.
Microservices governance
Service list
For applications that use the built-in Nacos registry, SAE provides the basic service query feature. If you use a self-managed Nacos registry or an MSE Nacos registry, you can log on to the corresponding service console to query services. You do not need to view the required information in the SAE console.
For more information, see Query services.
Graceful shutdown
A consumer microservices application may not receive the shutdown notification of a provider microservices application because caches exist in the consumer. In this case, you need to stop and remove the provider instances from the registry. Then, you can receive the notification only after the consumer caches are refreshed. To resolve the preceding issue, SAE integrates the graceful shutdown feature of MSE.
The graceful shutdown feature provided by MSE has advantages over the graceful shutdown solutions that are provided by open source Spring Cloud and Dubbo. However, the feature is not supported for some applications. For more information, see Configure graceful shutdown.
For information about how to configure graceful shutdown in SAE, see Configure graceful shutdown of microservices.
Graceful start
Once a provider is registered with a registry, the services of the provider can be called by a consumer in the registry. The provider may need to perform subsequent initialization, such as the initialization of a database connection pool. We recommend that you enable the graceful start feature for microservices applications that receive large amounts of traffic.
For more information, see Configure graceful start of microservices.
Application monitoring
In a microservices architecture, issues may not be identified if no monitoring system is provided. SAE integrates with Application Real-Time Monitoring Service (ARMS) to provide capabilities such as application dashboard, Java Virtual Machine (JVM) monitoring, slow call monitoring, trace analysis, and alerting. SAE provides low barriers for enterprises to use microservices architectures.
For more information, see Application monitoring.