Todos os produtos
Search
Central de documentação

Microservices Engine:Migrar do ACM para o MSE Nacos

Última atualização: Jun 28, 2026

O Application Configuration Management (ACM) está sendo descontinuado e todos os seus dados serão excluídos. Migre suas configurações para o Microservices Engine (MSE) Nacos o mais rápido possível para aproveitar o desempenho aprimorado, a maior estabilidade e o conjunto de recursos mais completo. Exporte as configurações do console do ACM e importe-as no console do MSE.

Importante

Após o fim do suporte ao ACM, não será mais possível criar ou editar configurações no console do ACM. As chamadas de API não terão cobertura de Service Level Agreement (SLA). Recomendamos fortemente que você conclua a migração o quanto antes.

Etapa 1: Exportar configurações para o MSE Nacos

  1. Faça login na página de compra do MSE com sua conta Alibaba Cloud e adquira uma instância do MSE Nacos Professional Edition. A Professional Edition oferece suporte a autenticação e criptografia de configurações, além de alta disponibilidade aprimorada. Para obter orientações sobre como escolher o número de vCPUs, o tamanho da memória e a quantidade de nós, consulte Estimar as capacidades das instâncias do Microservices Registry. Para estimar a largura de banda pública necessária, utilize a seguinte fórmula: Frequência de alterações (solicitações/s) × Número de configurações × Tamanho da configuração (KB).

  2. Exporte as configurações que deseja migrar do console do ACM.

    1. Faça login no console do ACM.

    2. Na página Configurations, selecione a configuração desejada, clique em Export abaixo da lista e, em seguida, clique em Export na caixa de diálogo Export Configurations (public).

    3. Salve o arquivo de configuração exportado.

  3. Importe as configurações no console do MSE.

    1. Faça login no console do MSE.

    2. No painel de navegação à esquerda, escolha Microservices Registry > Instances.

    3. Na página Instances, clique no Instance ID da instância Nacos adquirida.

    4. No painel de navegação à esquerda, escolha Configuration Management > Configurations.

    5. Na página Configurations, clique em Import Configuration.

    6. Na caixa de diálogo Import Configuration, selecione uma política para lidar com Same Configurations, clique em Upload File para enviar o arquivo de configuração exportado do console do ACM e, em seguida, clique em OK.

Etapa 2: Substituir parâmetros de negócio da aplicação

Siga as etapas correspondentes ao tipo da sua aplicação para substituir os parâmetros de negócio.

Migrar aplicações Spring Cloud Alibaba

Caso sua aplicação seja baseada em Spring Cloud Alibaba, modifique o arquivo de configuração bootstrap.properties.

Substitua o seguinte conteúdo:

spring.cloud.nacos.config.endpoint=${ACM_PUBLIC/INTERNAL_ENDPOINT}

por:

spring.cloud.nacos.config.server-addr=${MSE_NACOS_PUBLIC/INTERNAL_ENDPOINT}

Além disso, atualize o namespace para o seu namespace do MSE Nacos:

spring.cloud.nacos.config.namespace=${MSE_NACOS_NAMESPACE_ID}

Para um exemplo executável, consulte acm2nacos-spring-cloud-example.

Para verificar se sua aplicação é uma aplicação Spring Cloud Alibaba:

Verifique no arquivo pom.xml a presença da seguinte dependência:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
Importante
  • Este método de migração é suportado apenas pelo MSE Nacos 2.0.3 e versões posteriores. Se a versão do seu MSE Nacos for anterior à 2.0.3, atualize sua instância no console do MSE. A atualização leva cerca de 5 a 6 minutos. Atualizar a versão do mecanismo Nacos

  • Para garantir alta disponibilidade do seu cluster, configure pelo menos três nós.

  • Os endpoints públicos e internos da sua instância MSE Nacos estão disponíveis na página Basic Information.

  • O namespace padrão no MSE Nacos não possui ID, portanto, deixe o parâmetro vazio. Se utilizar um namespace diferente do padrão, encontre o ID correspondente na página Namespaces da sua instância.

Ao usar um endpoint público para implantação, adicione os endereços IP dos clientes à lista de permissões para garantir a conectividade. Definir uma lista de permissões

Nota

Uma lista de permissões vazia permite o acesso de qualquer endereço IP.

Migrar aplicações Java

  • Se você utiliza o ACM-Java-SDK, seu arquivo pom.xml contém a seguinte dependência:

    <dependency>
        <groupId>com.alibaba.edas.acm</groupId>
        <artifactId>acm-sdk</artifactId>
    </dependency>

    Para migrar, adicione o seguinte argumento JVM e reimplante a aplicação.

    -DDIAMOND.SERVER.IPS=${MSE_NACOS_PUBLIC/INTERNAL_ENDPOINT}

    Modifique também a configuração de namespace no seu código.

    properties.put("namespace", "${namespaceId}");
  • Caso utilize um cliente ACM e deseje alternar para um cliente Nacos, siga as instruções destinadas a usuários do Nacos-Java-SDK.

  • Se você usa o Nacos-Java-SDK, seu arquivo pom.xml contém a seguinte dependência:

<dependency>
  <groupId>com.alibaba.nacos</groupId>
  <artifactId>nacos-client</artifactId>
</dependency>

Substitua o espaço reservado ${...} pelo endpoint público ou interno do MSE e ${namespaceId} pelo ID do namespace do MSE; depois, reimplante a aplicação. Se estiver usando o namespace padrão, deixe o parâmetro de namespace vazio.

properties.put("serverAddr", ${MSE_NACOS_PUBLIC/INTERNAL_ENDPOINT});
properties.put("namespace", "${namespaceId}");

Adicione o seguinte argumento na inicialização para concluir a migração.

 -Dnacos.cache.data.init.snapshot=false
Nota

Para um exemplo oficial em Java, consulte acm2nacos-java-example. Para um exemplo de aplicação Java oficial, consulte Java SDK.

Migrar aplicações nacos-spring-boot

Se sua aplicação for do tipo nacos-spring-boot, modifique o arquivo de configuração application.properties.

Substitua o seguinte conteúdo:

nacos.config.endpoint=${ACM_PUBLIC/INTERNAL_ENDPOINT}

por:

nacos.config.server-addr=${MSE_NACOS_PUBLIC/INTERNAL_ENDPOINT}

Atualize também o namespace para o seu namespace do MSE Nacos:

nacos.config.namespace=${MSE_NACOS_NAMESPACE_ID}

Migrar aplicações Golang

Nota

Antes de chamar a API, configure variáveis de ambiente para suas credenciais de acesso. Use MSE_AK como AccessKey ID e MSE_SK como AccessKey Secret.

  • Se você utiliza o ACM-golang-SDK, substitua ${endpoint} pelo endpoint público/interno da sua instância MSE Nacos.

    clientConfig := constant.ClientConfig{
            Endpoint:       ${endpoint} + ":8080",
            NamespaceId:    namespaceId,
            AccessKey:      MSE_AK,
            SecretKey:      MSE_SK,
            TimeoutMs:      5 * 1000,
            ListenInterval: 30 * 1000,
        }
  • Caso utilize o Nacos-golang-SDK, substitua ${serverAddr} pelo endpoint público/interno da sua instância MSE Nacos.

    sc := []constant.ServerConfig{
        {
        IpAddr: "${serverAddr}",
        Port:   8848,
        },
    }
Nota

Para um exemplo oficial de aplicação Golang, consulte nacos-sdk-go.

Migrar aplicações Python

  • Se você utiliza o ACM-Python-SDK, substitua ${endpoint} pelo endpoint público/interno da sua instância MSE Nacos e ${namespace_id} pelo ID do namespace correspondente.

    ENDPOINT = "${endpoint}"
    NAMESPACE = "${namespace_id}"
    c = acm.ACMClient(ENDPOINT, NAMESPACE, AK, SK)
  • Caso utilize o Nacos-Python-SDK, substitua ${server_address} pelo endpoint público/interno da sua instância MSE Nacos e ${namespace_id} pelo ID do namespace correspondente.

    SERVER_ADDRESSES = "${server_address}"
    NAMESPACE = "${namespace_id}"
    client = nacos.NacosClient(SERVER_ADDRESSES, namespace=NAMESPACE)

Migrar aplicações Node.js

  • Se você utiliza o ACM-Nodejs-SDK, substitua ${endpoint} pelo endpoint público/interno da sua instância MSE Nacos e ${namespace_id} pelo ID do namespace correspondente.

    // for find address mode
    const configClient = new NacosConfigClient({
      endpoint: '${endpoint}',
      namespace: '${namespace_id}',
      accessKey: 'MSE_AK',
      secretKey: 'MSE_SK',
      requestTimeout: 6000,
    });
  • Caso utilize o Nacos-Nodejs-SDK, substitua ${server_address} pelo endpoint público/interno da sua instância MSE Nacos e ${namespace_id} pelo ID do namespace correspondente.

    const configClient = new NacosConfigClient({
      serverAddr: '${server_address}',
      namespace: '${namespace_id}',
      accessKey: 'MSE_AK',
      secretKey: 'MSE_SK',
      requestTimeout: 6000,
    });

Migrar aplicações C#

Substitua ${server_address} pelo endpoint público/interno da sua instância MSE Nacos e ${namespace_id} pelo ID do namespace correspondente.

{
  "NacosConfig": {
    "Listeners": [
      {
        "Optional": false,
        "DataId": "common",
        "Group": "DEFAULT_GROUP"
      },
      {
        "Optional": false,
        "DataId": "demo",
        "Group": "DEFAULT_GROUP"
      }
    ],
    "Namespace": "namespace_id",  // Please set the value of Namespace ID.
    "ServerAddresses": [ "http://${server_address}:8848/" ],
    "UserName": "test2",
    "Password": "123456",
    "AccessKey": "MSE_AK",
    "SecretKey": "MSE_SK",
    "EndPoint": "acm.aliyun.com",
    "ConfigFilterAssemblies": ["YouPrefix.AssemblyName"],
    "ConfigFilterExtInfo": "some ext information"
  }
}

Migrar aplicações C++

  • Se você utiliza o ACM-CPP-SDK, substitua ${endpoint} pelo endpoint público/interno da sua instância MSE Nacos e ${namespace_id} pelo ID do namespace correspondente.

    // Initializes the configuration service using the following parameters.
     ACM::init("${endpoint}","$namespace_id","$accessKey","$secretKey");
  • Caso utilize o Nacos-CPP-SDK, substitua ${server_address} pelo endpoint público/interno da sua instância MSE Nacos.

    Properties props;
    props[PropertyKeyConst::SERVER_ADDR] = "${server_address}:8848";//Server address

(Opcional) Etapa 3: Reautorizar o usuário RAM

Se você utiliza autenticação de configuração e concedeu permissões a um usuário RAM, atualize o script de autorização e conceda as permissões novamente após a migração para o MSE. Autorizar acesso ao Microservices Registry

  1. Faça login no console do Resource Access Management (RAM).

  2. No painel de navegação à esquerda, escolha Permissions > Policies.

  3. No canto superior esquerdo da página Policies, clique em Create Policy.

  4. Na página Create Policy, clique na aba JSON.

  5. Cole seu script local no editor de políticas, substituindo o conteúdo existente.

    Veja abaixo um exemplo de script:

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "acms:R"
                ],
                "Resource": "*:*:*:*:cfg/1ca01ca0-11b0-1e01-0df1-d1010101bc10/DEFAULT_GROUP/com.alibaba.acm.test",
                "Effect": "Allow"
            }
        ]
    }
  • Substituir permissões de leitura

    Se o script contiver o seguinte conteúdo:

    "Action": [
                    "acms:R"
                ]

    Substitua por:

    "Action": [
                    "mse:List*",
                    "mse:Query*",
                    "mse:Get*"
                ]
  • Substituir permissões de escrita

    Se o script contiver o seguinte conteúdo:

    "Action": [
                    "acms:W"
                ]

    Substitua por:

    "Action": [
                    "mse:Create*",
                    "mse:Update*",
                    "mse:Delete*"
                ]
  • Substituir o recurso

    Substitua a seguinte definição de recurso:

    "Resource": "*:*:*:*:cfg/{acm_namespace_id}/{group_id}/{data_id}"

    por:

    "Resource": "acs:mse:*:*:instance/{instance_id}/{mse_namespace_id}/{group_id}/{data_id}"
    Nota

    Descrição dos parâmetros:

    • {acm_namespace_id}: O ID do namespace no ACM.

    • {instance_id}: O ID da sua instância MSE.

    • {mse_namespace_id}: O ID do namespace no MSE.

    • {group_id}: O ID do grupo.

    • {data_id}: O ID dos dados.

Se não for necessário conceder permissões no nível de group_id ou data_id, remova essas partes do caminho do recurso.

  • Para conceder permissões no nível de namespace, use o seguinte caminho de recurso:

    "Resource": "acs:mse:*:*:instance/{instance_id}/{mse_namespace_id}"
  • Para conceder permissões no nível de group_id, use o seguinte caminho de recurso:

    "Resource": "acs:mse:*:*:instance/{instance_id}/{mse_namespace_id}/{group_id}"

Após substituir o script, conceda as permissões definidas na nova política ao usuário RAM. Autorizar acesso ao Microservices Registry

As novas permissões do usuário RAM entram em vigor em aproximadamente 5 a 10 segundos.

Etapa 4: Reimplantar e iniciar a aplicação

Reimplante sua aplicação. A migração estará concluída quando a implantação for bem-sucedida.