全部产品
Search
文档中心

Microservices Engine:Migrasikan aplikasi dari Application Configuration Management ke instance MSE Nacos

更新时间:Jun 28, 2025

Application Configuration Management telah memasuki status tidak digunakan lagi, dan semua datanya akan dihapus. Kami menyarankan Anda segera memigrasikan konfigurasi aplikasi dari Application Configuration Management ke instance MSE Nacos. Instance MSE Nacos menawarkan stabilitas performa yang lebih baik serta fitur tambahan. Topik ini menjelaskan cara mengekspor konfigurasi dari konsol Application Configuration Management dan mengimpornya ke konsol MSE.

Penting

Setelah Application Configuration Management mencapai akhir dukungan, Anda tidak dapat membuat atau mengedit konfigurasi di konsol tersebut. Service-level agreement (SLA) untuk operasi API pada Application Configuration Management juga tidak lagi dijamin setelah akhir dukungan. Oleh karena itu, kami menyarankan Anda memigrasikan konfigurasi sesegera mungkin.

Langkah 1: Ekspor konfigurasi aplikasi ke instance MSE Nacos Anda

  1. Masuk ke halaman pembelian MSE menggunakan akun Alibaba Cloud dan beli instance Nacos.

    Kami menyarankan Anda membeli instance MSE Nacos Edisi Profesional. Instance MSE Nacos Edisi Profesional mendukung Nacos 2.0, yang menyediakan autentikasi, enkripsi konfigurasi, dan ketersediaan tinggi. Untuk informasi lebih lanjut tentang cara memilih jumlah vCPU, memori, dan jumlah node untuk instance MSE Nacos Edisi Profesional, lihat Estimasi kemampuan instance Microservices Registry. Jika Anda ingin membeli bandwidth publik untuk instance Nacos Anda, Anda dapat memperkirakannya berdasarkan konversi unit menggunakan rumus berikut: Frekuensi perubahan (unit: hitungan/detik) × Jumlah konfigurasi × Ukuran konfigurasi (unit: KB).

  2. Ekspor konfigurasi yang ingin dimigrasikan dari konsol Application Configuration Management.

    1. Masuk ke konsol Application Configuration Management.

    2. Di halaman Configurations, pilih konfigurasi yang diperlukan, lalu klik Export di bagian bawah halaman. Di pesan yang muncul, klik Export.

    3. Simpan file konfigurasi yang diekspor.

  3. Impor file konfigurasi yang diekspor ke konsol MSE.

    1. Masuk ke konsol MSE.

    2. Di panel navigasi sisi kiri, pilih Microservices Registry > Instances.

    3. Di halaman Instances, klik ID instance Nacos yang dibeli.

    4. Di panel navigasi sisi kiri, pilih Configurations > Configurations.

    5. Di halaman Configurations, klik Import Configurations.

    6. Di kotak dialog Import Configurations, pilih opsi dari daftar drop-down Same Configuration, lalu klik Upload File di File Konfigurasi untuk mengunggah file konfigurasi yang diekspor dari konsol Application Configuration Management. Klik OK.

Langkah 2: Ganti parameter bisnis aplikasi

Pilih metode yang sesuai untuk mengganti parameter bisnis aplikasi berdasarkan jenis aplikasi Anda.

Aplikasi Spring Cloud Alibaba

Jika aplikasi Anda adalah aplikasi Spring Cloud Alibaba, modifikasi file konfigurasi bootstrap.properties.

Ganti

spring.cloud.nacos.config.endpoint=${Titik akhir publik atau internal dari Application Configuration Management}

Dengan

spring.cloud.nacos.config.server-addr=${Titik akhir publik atau internal dari instance MSE Nacos Anda}

Tentukan ID namespace di instance MSE Nacos Anda dalam konfigurasi berikut:

spring.cloud.nacos.config.namespace =${ID namespace di instance MSE Nacos Anda}

Untuk informasi lebih lanjut tentang demo contoh, lihat acm2nacos-spring-cloud-example.

Anda dapat menggunakan metode berikut untuk memeriksa apakah aplikasi Anda adalah aplikasi Spring Cloud Alibaba:

Jika dependensi berikut ditemukan di file pom.xml, aplikasi Anda adalah aplikasi Spring Cloud Alibaba.

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
Penting

  • Hanya MSE Nacos 2.0.3 atau yang lebih baru yang memungkinkan migrasi konfigurasi aplikasi Spring Cloud Alibaba ke instance MSE Nacos. Jika versi MSE Nacos Anda adalah 2.0.2 atau lebih lama, Anda harus meningkatkan versi Nacos di konsol MSE. Proses peningkatan membutuhkan waktu sekitar 5 hingga 6 menit.

  • Untuk memastikan ketersediaan tinggi suatu instance, konfigurasikan setidaknya tiga node untuk instance tersebut.

  • Anda dapat memperoleh titik akhir publik atau internal dari instance MSE Nacos Anda dari halaman Informasi Dasar instance.

  • Jika Anda menggunakan namespace default, namespace tersebut tidak memiliki ID. Dalam hal ini, Anda dapat meninggalkan ID namespace kosong. Jika namespace tujuan Anda memiliki ID, Anda dapat memperoleh ID namespace dari halaman Namespace instance MSE Nacos Anda di konsol MSE.

Jika Anda ingin mengakses instance MSE Nacos melalui Internet, Anda harus menambahkan alamat IP publik klien Anda ke daftar putih alamat IP publik instance MSE Nacos Anda untuk memastikan konektivitas.

Catatan

Jika tidak ada alamat IP atau blok CIDR yang ditambahkan ke daftar putih alamat IP publik instance MSE Nacos Anda, semua alamat IP publik dapat digunakan untuk mengakses instance MSE Nacos Anda.

Aplikasi Java

  • Jika ACM-Java-SDK digunakan, dependensi berikut ada di file pom.xml Anda.

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

    Dalam hal ini, Anda dapat langsung menambahkan parameter berikut ke parameter runtime JVM dan menerapkan ulang aplikasi Anda untuk menyelesaikan migrasi.

    -DDIAMOND.SERVER.IPS=${Titik akhir publik atau internal dari instance MSE Nacos Anda}

    Modifikasi informasi namespace di kode.

    properties.put("namespace", "{namespaceId}");

  • Jika Anda ingin menggunakan klien Nacos alih-alih klien Application Configuration Management setelah migrasi, ikuti instruksi berikut.

  • Jika Nacos-Java-SDK digunakan, dependensi berikut ada di file pom.xml Anda:

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

Dalam hal ini, Anda dapat menyetel ${} di kode berikut ke titik akhir terdaftar instance MSE Nacos Anda, menyetel {namespaceId} ke ID namespace instance MSE Nacos Anda, dan kemudian menerapkan ulang aplikasi Anda untuk menyelesaikan migrasi. Jika namespace default digunakan, biarkan {namespaceId} kosong.

properties.put("serverAddr", ${Titik akhir publik atau internal dari instance MSE Nacos Anda});
properties.put("namespace", "{namespaceId}");

Saat Anda memulai aplikasi Anda, tambahkan parameter berikut untuk menyelesaikan migrasi.

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

Untuk informasi lebih lanjut tentang demo contoh untuk menggunakan Nacos-Java-SDK untuk memigrasikan konfigurasi aplikasi Java, lihat acm2nacos-java-example. Untuk informasi lebih lanjut tentang demo contoh untuk Nacos-Java-SDK, lihat Java SDK.

Aplikasi Nacos Spring Boot

Jika aplikasi Anda adalah aplikasi Nacos Spring Boot, modifikasi file konfigurasi application.properties.

Ganti

nacos.config.endpoint=${Titik akhir publik atau internal dari Application Configuration Management}

Dengan

nacos.config.server-addr=${Titik akhir publik atau internal dari instance MSE Nacos Anda}

Tentukan ID namespace di instance MSE Nacos Anda dalam konfigurasi berikut:

nacos.config.namespace=${ID namespace di instance MSE Nacos Anda}

Aplikasi Golang

Catatan

Sebelum memanggil operasi, Anda harus mengonfigurasi variabel lingkungan dan memperoleh kredensial akses dari variabel lingkungan. Variabel lingkungan ID AccessKey dan Rahasia AccessKey untuk instance MSE Nacos adalah MSE_AK dan MSE_SK masing-masing.

  • Jika ACM-golang-SDK digunakan, Anda harus menyetel ${endpoint} ke titik akhir terdaftar instance MSE Nacos Anda.

    clientConfig := constant.ClientConfig{
            Endpoint:       ${endpoint} + ":8080",
            NamespaceId:    namespaceId,
            AccessKey:      MSE_AK,
            SecretKey:      MSE_SK,
            TimeoutMs:      5 * 1000,
            ListenInterval: 30 * 1000,
        }
  • Jika Nacos-golang-SDK digunakan, Anda harus menyetel ${serverAddr} ke titik akhir terdaftar instance MSE Nacos Anda.

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

Untuk informasi lebih lanjut tentang demo contoh untuk Nacos-golang-SDK, lihat nacos-sdk-go.

Aplikasi Python

  • Jika ACM-Python-SDK digunakan, Anda harus menyetel ${endpoint} ke titik akhir terdaftar instance MSE Nacos Anda dan ${namespace_id} ke ID namespace instance MSE Nacos Anda.

    ENDPOINT = "${endpoint}"
    NAMESPACE = "${namespace_id}"
    c = acm.ACMClient(ENDPOINT, NAMESPACE, AK, SK)
  • Jika Nacos-Python-SDK digunakan, Anda harus menyetel ${server_address} ke titik akhir terdaftar instance MSE Nacos Anda dan ${namespace_id} ke ID namespace instance MSE Nacos Anda.

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

Aplikasi Node.js

  • Jika ACM-Nodejs-SDK digunakan, Anda harus menyetel ${endpoint} ke titik akhir terdaftar instance MSE Nacos Anda dan ${namespace_id} ke ID namespace instance MSE Nacos Anda.

    // for find address mode
    const configClient = new NacosConfigClient({
      endpoint: '${endpoint}',
      namespace: '${namespace_id}',
      accessKey: 'MSE_AK',
      secretKey: 'MSE_SK',
      requestTimeout: 6000,
    });
  • Jika Nacos-Nodejs-SDK digunakan, Anda harus menyetel ${server_address} ke titik akhir terdaftar instance MSE Nacos Anda dan ${namespace_id} ke ID namespace instance MSE Nacos Anda.

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

Aplikasi C#

Setel ${server_address} ke titik akhir terdaftar instance MSE Nacos Anda dan namespace_id ke ID namespace instance MSE Nacos Anda.

{
  "NacosConfig": {
    "Listeners": [
      {
        "Optional": false,
        "DataId": "common",
        "Group": "DEFAULT_GROUP"
      },
      {
        "Optional": false,
        "DataId": "demo",
        "Group": "DEFAULT_GROUP"
      }
    ],
    "Namespace": "namespace_id",  // Harap atur nilai ID Namespace !!!!!!!!
    "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 infomation"
  }
}

Aplikasi C++

  • Jika ACM-CPP-SDK digunakan, Anda harus menyetel ${endpoint} ke titik akhir terdaftar instance MSE Nacos Anda dan $namespace_id ke ID namespace instance MSE Nacos Anda.

    // Inisialisasi layanan konfigurasi dan konsol akan mengambil parameter berikut melalui kode sampel.
     ACM::init("${endpoint}","$namespace_id","$accessKey","$secretKey");
  • Jika Nacos-CPP-SDK digunakan, Anda harus menyetel ${server_address} ke titik akhir terdaftar instance MSE Nacos Anda.

    Properties props;
    props[PropertyKeyConst::SERVER_ADDR] = "${serverAddr}:8848";//Alamat server

Langkah 3 (Opsional): Berikan izin kepada pengguna RAM setelah migrasi

Jika Anda menggunakan fitur autentikasi konfigurasi untuk memberikan izin kepada pengguna RAM tertentu, Anda harus mengganti skrip otorisasi dan memberikan izin kepada pengguna RAM lagi setelah aplikasi Anda dimigrasikan ke instance MSE Nacos.

  1. Masuk ke Konsol Resource Access Management (RAM).

  2. Di panel navigasi sisi kiri, pilih Izin > Kebijakan.

  3. Di sudut kiri atas halaman Kebijakan, klik Buat Kebijakan.

  4. Di halaman Buat Kebijakan, klik tab JSON.

  5. Gunakan skrip lokal Anda untuk mengganti skrip di editor kode.

    Contoh skrip yang akan diganti:

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "acms:R"
                ],
                "Resource": "*:*:*:*:cfg/1ca01ca0-11b0-1e01-0df1-d1010101bc10/DEFAULT_GROUP/com.alibaba.acm.test",
                "Effect": "Allow"
            }
        ]
    }
  • Ganti izin baca

    Ganti

    "Action": [
                    "acms:R"
                ]

    Dengan

    "Action": [
                    "mse:List*",
                    "mse:Query*",
                    "mse:Get*"
                ]
  • Ganti izin tulis

    Ganti

    "Action": [
                    "acms:W"
                ]

    Dengan

    "Action": [
                    "mse:Create*",
                    "mse:Update*",
                    "mse:Delete*"
                ]
  • Ganti informasi sumber daya

    Ganti

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

    Dengan

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

    Deskripsi parameter:

    • {acm_namespace_id}: ID namespace dari Application Configuration Management.

    • {instance_id}: ID instance MSE Nacos Anda.

    • {mse_namespace_id}: ID namespace dari instance MSE Nacos Anda.

    • {group_id}: ID grup.

    • {data_id}: ID data.

Jika {group_id} atau {data_id} tidak diperlukan untuk otorisasi, Anda dapat menghapus parameter tersebut.

  • Jika hanya {instance_id} dan {mse_namespace_id} yang diperlukan untuk otorisasi, ganti informasi sumber daya dengan konten berikut:

    "Resource": "acs:mse:*:*:instance/{instance_id}/{mse_namespace_id}"
  • Jika hanya {instance_id}, {mse_namespace_id}, dan {group_id} yang diperlukan untuk otorisasi, ganti informasi sumber daya dengan konten berikut:

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

Setelah penggantian selesai, berikan izin yang ditentukan dalam skrip kepada pengguna RAM.

Izin yang diberikan kepada pengguna RAM mulai berlaku 5 hingga 10 detik setelah operasi re-otorisasi dilakukan.

Langkah 4: Terapkan ulang dan jalankan aplikasi Anda

Terapkan ulang aplikasi Anda. Setelah penerapan berhasil, seluruh proses migrasi selesai.