This topic describes how to use features of Microservices Governance, including application access, service query, application governance, end-to-end canary release, development and test governance, and system settings.
Application access
You can enable Microservices Engine (MSE) Microservices Governance for applications by using multiple methods based on the deployment environment and programming language of the applications.
Manage microservice namespaces
A microservice namespace seems like a policy for organizing a set of microservices together for easier management and distribution. Microservice namespaces are extensible. You can use microservice namespaces to group and isolate microservices and related dependencies. You can also assign different security policies, access control policies, and resource constraints to microservices. For more information, see Manage microservice namespaces.
Enable Microservices Governance for Java microservice applications in an ACK or ACS cluster
You can enable Microservices Governance for microservice applications, such as Spring Cloud and Dubbo applications, that are deployed in an Alibaba Cloud Container Service for Kubernetes (ACK) cluster or Alibaba Cloud Container Compute Service (ACS) cluster. For more information, see Enable Microservices Governance for Java microservice applications in an ACK or ACS cluster.
Enable Microservices Governance for Go microservice applications in an ACK cluster
You can enable Microservices Governance for Go microservice applications that are deployed in an ACK cluster. For example, you can enable Microservices Governance for Go applications that use the Gin framework. For more information, see Enable MSE Microservices Governance for Go microservice applications in an ACK cluster.
Enable Microservices Governance for microservice applications on ECS instances
You can enable Microservices Governance for microservice applications that are deployed on Elastic Compute Service (ECS) instances and non-Alibaba Cloud virtual machines (VMs). For more information, see Enable Microservices Governance for microservice applications on ECS instances.
Enable Microservices Governance for applications in an open source Kubernetes cluster
You can enable Microservices Governance for Spring Cloud applications and Dubbo applications in an open source Kubernetes cluster. The microservices governance capabilities include graceful shutdown, outlier ejection, service query, service authentication, service testing, and canary release. The microservices governance capabilities significantly improve the stability and development efficiency of online microservice applications. For more information, see Enable MSE Microservices Governance for applications in an open source Kubernetes cluster.
Add custom interfaces to Microservices Governance
You can enable Microservices Governance for applications by integrating custom event tracking of SDKs for Java with Java agents. For more information, see Add custom interfaces to Microservices Governance.
Configure network settings for enabling Microservices Governance for applications in a non-Alibaba Cloud VPC environment
If you want to enable Microservices Governance for applications in a non-Alibaba Cloud virtual private cloud (VPC) environment, see Network configurations for enabling Microservices Governance in a non-Alibaba Cloud VPC environment.
Service query
The service query feature allows you to view the service details and service contract information of the applications for which Microservices Governance is enabled.
Query services
After Microservices Governance is enabled for your application, you can log on to the MSE console to query the service lists and service details of Spring Cloud or Dubbo applications. For more information, see Query services.
View service contracts
A service contract describes the interfaces and behavior of a microservice. In MSE, a service contract defines the communication rules between a provider and a consumer. A service contract can also contain information about the input, output, and error handling of a service. This helps the consumer better understand and use the service. For more information, see View service contracts.
Application governance
You can use the traffic governance feature of the applications for which Microservices Governance is enabled. The traffic governance feature includes capabilities such as graceful start and shutdown, system protection configuration, traffic protection, tag-based routing, and canary release for messaging.
Application overview
After Microservices Governance is enabled for your application, you can view information such as queries per second (QPS) data and top N lists on the Application overview page. For more information, see Application overview.
Interface details
The API Details page displays the details of all interfaces of an application, including QPS, response time (RT), and concurrency. You can click the tabs of different types of interfaces, such as the WEB service and RPC service tabs, to go to the related details page. For more information, see API Details.
Node details
The node details feature allows you to view the basic information about all nodes of an application, including the QPS data and basic node data such as tags and status. For more information, see View node details.
Traffic governance
The traffic governance feature is used to throttle traffic. This helps implement the load balancing and fault tolerance capabilities of microservice applications. Traffic governance allows you to implement features such as peak-load shifting and traffic throttling to ensure the high availability and high concurrency of microservice instances. For more information, see Traffic governance.
End-to-end canary release
Canary release can distribute traffic to multiple versions for iteration and maintenance without affecting the production system. You can implement end-to-end canary release for a specific microservice instance in MSE. This allows you to control traffic in a fine-grained manner and evaluate the quality and stability of the microservice more accurately.
Implement an end-to-end canary release based on MSE cloud-native gateways
After Microservices Governance is enabled for an application, you can configure an MSE cloud-native gateway to implement end-to-end canary release. The cloud-native gateway can be used to expose backend services. For more information, see Implement an end-to-end canary release based on MSE cloud-native gateways.
Implement an end-to-end canary release based on MSE cloud-native API gateways
You can use a cloud-native gateway to implement an end-to-end canary release on backend applications that are deployed in an ACK cluster or the applications that are registered with a Nacos instance.
Implement an end-to-end canary release based on MSE Ingress gateways
MSE Ingress gateways are developed based on MSE cloud-native gateways to provide enhanced Ingress traffic management capabilities. You can implement an end-to-end canary release based on MSE Ingress gateways. You can also implement end-to-end traffic throttling without the need to modify the code of your application. For more information, see Implement an end-to-end canary release based on MSE Ingress gateways.
Implement an end-to-end canary release based on self-managed Spring Cloud or Zuul gateways
If the API gateway in your microservices architecture uses a Spring Cloud or Zuul gateway, you can configure routing rules to route requests to a canary version to verify and test the canary version. For more information, see Implement end-to-end grayscale based on user-created Spring Cloud Gateway or Zuul gateways.
Use Kruise Rollouts to implement an MSE-based end-to-end canary release
Kruise Rollouts provides a variety of canary release policies such as canary release and blue-green deployment. You can use Kruise Rollouts together with Microservices Governance to implement smooth canary releases for new versions of applications during the service call process. This ensures the stability of new versions. For more information, see Use Kruise Rollouts to implement MSE-based end-to-end canary releases.
Perform asynchronous tasks for MSE end-to-end canary release
MSE allows you to create custom asynchronous tasks to implement tag-based traffic pass-through by adding scan packages for asynchronous pass-through. For more information, see Perform asynchronous tasks for MSE end-to-end canary release.
System settings
You can manage Microservices Governance settings based on your business requirements.
Update the Microservices Governance component
The Microservices Governance component of MSE is updated. You can update the ack-mse-pilot component to the ack-onepilot component. For more information, see Update the Microservices Governance component.
Disable Microservices Governance
If you no longer need to use Microservices Governance to manage your application, we recommend that you disable Microservices Governance for your application at the earliest opportunity. For more information, see Disable Microservices Governance.