When you deploy the same application across development, testing, and production environments, each environment needs its own independent governance configurations. Microservices Engine (MSE) Microservices Governance uses microservices namespaces to isolate resources and configurations, so governance rules configured in one namespace never take effect in another.
How microservices namespaces work
A microservices namespace is an isolation boundary for governance configurations. Each namespace maintains independent governance rules: configuration changes in a test namespace do not affect a prod namespace.

Microservices namespaces differ from Kubernetes namespaces. A Kubernetes namespace groups cluster resources, while a microservices namespace groups governance configurations. To assign an application to a microservices namespace, add the label mseNamespace: ${Namespace name} to your pod or Kubernetes namespace.
Microservice applications
A microservice application is a Java process that provides a group of microservices. Each microservice application independently implements cohesive business logic and requires dedicated maintenance and development engineers. In MSE Microservices Governance, one microservice application maps to a group of deployments.
To enable Microservices Governance for an application, add these labels to your pod:
| Label | Purpose | Constraint |
|---|---|---|
mseNamespace: ${Namespace name} | Assigns the application to a microservices namespace | — |
msePilotCreateAppName: ${Application name} | Registers the application name in MSE | 63-character limit |
Example: Add an application named my-order-service to the prod namespace:
labels:
mseNamespace: prod
msePilotCreateAppName: my-order-serviceUse cases
Environment isolation
Assign applications to separate microservices namespaces (Prod, Test, Dev) to keep governance configurations strictly separated across environments. Rules configured in one namespace do not take effect in other namespaces.
Typical workflow:
Connect all test-environment applications to a microservices namespace named
test. For example, connectexample-appto thetestnamespace.Connect all production-environment applications to a microservices namespace named
prod. For example, connectexample-appto theprodnamespace.Configure and verify governance features on
example-appin thetestnamespace.After verification, apply the same configuration to
example-appin theprodnamespace.
Use separate databases, Message Queue clusters, Kubernetes clusters, and Nacos instances for different microservices namespaces. This prevents changes in the test environment from affecting the production environment and helps maintain stability.
Multi-environment VPC setup
When multiple environments share a single virtual private cloud (VPC), create Dev, Test, and Prod microservices namespaces to isolate the environments. Applications deployed in one namespace are isolated from those in other namespaces, even though they share the same network infrastructure.
Editions
Microservices Governance provides two editions:
| Edition | Features | Recommended for |
|---|---|---|
| Enterprise Edition (default) | Full feature set, including the protection feature in Operation State (Ops) | Production environments |
| Professional Edition | Core governance features | Development and testing environments that do not need Ops protection |
To reduce costs, downgrade namespaces for non-production applications to Professional Edition.
For pricing details, see Billing overview of Microservices Governance.

Create a microservices namespace
Before you begin, ensure that you have:
An MSE-managed Kubernetes cluster
Access to the MSE console
Procedure
Log on to the MSE console.
In the left-side navigation pane, choose Microservices Governance > O&M Center.
On the O&M Center page, click the name of the desired Kubernetes cluster.
On the Cluster details page, click Microservice Namespace in the Actions column.

Enter a name in the Microservice Namespace dialog box and click OK.