All Products
Search
Document Center

Microservices Engine:Manage microservices namespaces

Last Updated:Mar 11, 2026

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.

Namespace isolation diagram

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:

LabelPurposeConstraint
mseNamespace: ${Namespace name}Assigns the application to a microservices namespace
msePilotCreateAppName: ${Application name}Registers the application name in MSE63-character limit

Example: Add an application named my-order-service to the prod namespace:

labels:
  mseNamespace: prod
  msePilotCreateAppName: my-order-service

Use 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:

  1. Connect all test-environment applications to a microservices namespace named test. For example, connect example-app to the test namespace.

  2. Connect all production-environment applications to a microservices namespace named prod. For example, connect example-app to the prod namespace.

  3. Configure and verify governance features on example-app in the test namespace.

  4. After verification, apply the same configuration to example-app in the prod namespace.

Note

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:

EditionFeaturesRecommended for
Enterprise Edition (default)Full feature set, including the protection feature in Operation State (Ops)Production environments
Professional EditionCore governance featuresDevelopment and testing environments that do not need Ops protection

To reduce costs, downgrade namespaces for non-production applications to Professional Edition.

image

Create a microservices namespace

Before you begin, ensure that you have:

  • An MSE-managed Kubernetes cluster

  • Access to the MSE console

Procedure

  1. Log on to the MSE console.

  2. In the left-side navigation pane, choose Microservices Governance > O&M Center.

  3. On the O&M Center page, click the name of the desired Kubernetes cluster.

  4. On the Cluster details page, click Microservice Namespace in the Actions column.

    Cluster details page

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

What's next