全部产品
Search
文档中心

Serverless App Engine:Mengelola konfigurasi aplikasi

更新时间:Dec 18, 2025

Topik ini menjelaskan cara mengembangkan dan menguji aplikasi demo Spring Cloud di lingkungan lokal, mengelola konfigurasi aplikasi menggunakan Spring Cloud Alibaba Nacos Config, serta mengelola dan mendorong konfigurasi menggunakan Serverless App Engine (SAE).

Prasyarat

Sebelum mengembangkan aplikasi, pastikan operasi berikut telah dilakukan:

  • Unduh Maven dan konfigurasikan variabel lingkungan.

  • Jalankan Nacos Server.

    1. Unduh dan ekstrak paket Nacos Server.

    2. Pergi ke direktori nacos/bin dan jalankan Nacos Server.

      • Linux, Unix, atau macOS: Jalankan perintah sudo sh startup.sh -m standalone.

      • Windows: Jalankan perintah startup.cmd -m standalone.

      Catatan

      standalone menunjukkan bahwa file startup.cmd dijalankan dalam mode mandiri, bukan Mode kluster. Secara default, file startup.cmd dimulai dalam Mode kluster. Jika Anda mengklik dua kali file startup.cmd untuk menjalankannya di sistem Windows, startup gagal. Dalam hal ini, Anda harus mengonfigurasi MODE="standalone" dalam file startup.cmd. Untuk informasi lebih lanjut, lihat Quick Start for Nacos.

  • Buat konfigurasi di konsol Nacos Server lokal.

    1. Masuk ke konsol Nacos Server pada server lokal. Nama pengguna dan kata sandi default adalah nacos.

    2. Di panel navigasi sisi kiri, klik Configurations. Pada halaman Configurations, klik ikon Add Icon di pojok kanan atas.

    3. Pada halaman Create Configuration, konfigurasikan parameter berikut dan klik Publish:

      • Data ID: nacos-config-example.properties

      • Group: DEFAULT_GROUP

      • Configuration Content: test.name=nacos-config-test

Latar Belakang

Saat mengembangkan aplikasi Spring Cloud, Anda dapat menggunakan Nacos untuk mengelola konfigurasi aplikasi. SAE terintegrasi dengan Nacos open source dari Application Configuration Management (ACM). Setelah menerapkan aplikasi di SAE, Anda dapat menggunakan SAE untuk mengelola dan mendorong konfigurasi aplikasi.

Dalam contoh ini, aplikasi demo Spring Cloud dikembangkan dan Spring Cloud Alibaba Nacos Config digunakan untuk mengelola konfigurasi aplikasi. Anda dapat mengklik nacos-config-example.zip untuk mengunduh aplikasi demo.

Catatan

Spring Cloud Alibaba Nacos Config mengintegrasikan kerangka kerja Nacos dan Spring Cloud serta mendukung spesifikasi injeksi konfigurasi Spring Cloud.

Langkah 1: Gunakan Nacos Config untuk mengelola konfigurasi aplikasi

  1. Buat proyek Maven bernama nacos-config-example.

  2. Tambahkan dependensi ke file pom.xml.

    Dalam contoh ini, Spring Boot 2.1.4.RELEASE dan Spring Cloud Greenwich.SR1 digunakan.

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
        <relativePath/>
    </parent>
    
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>2.1.1.RELEASE</version>
        </dependency>
    </dependencies>
    
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Greenwich.SR1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>                        

    Dalam contoh ini, Spring Cloud Greenwich digunakan. Versi Spring Cloud Alibaba untuk Spring Cloud Greenwich adalah 2.1.1.RELEASE.

    • Versi Spring Cloud Alibaba untuk Spring Cloud Finchley adalah 2.0.1.RELEASE.

    • Versi Spring Cloud Alibaba untuk Spring Cloud Edgware adalah 1.5.1.RELEASE.

    Catatan

    Spring Cloud Edgware sudah tidak digunakan lagi. Kami merekomendasikan agar Anda tidak menggunakan Spring Cloud Edgware untuk mengembangkan aplikasi.

  3. Di src\main\java, buat paket com.aliware.edas.

  4. Di paket com.aliware.edas, buat kelas startup NacosConfigExampleApplication untuk proyek nacos-config-example.

        import org.springframework.boot.SpringApplication;
        import org.springframework.boot.autoconfigure.SpringBootApplication;
    
        @SpringBootApplication
        public class NacosConfigExampleApplication {
            public static void main(String[] args) {
                SpringApplication.run(NacosConfigExampleApplication.class, args);
            }
        }                        
  5. Di paket com.aliware.edas, buat controller sederhana EchoController. Properti userName disuntikkan secara otomatis. Kemudian, tambahkan anotasi @Value untuk mendapatkan nilai kunci test.name dari konfigurasi.

        import org.springframework.beans.factory.annotation.Value;
        import org.springframework.cloud.context.config.annotation.RefreshScope;
        import org.springframework.web.bind.annotation.RequestMapping;
        import org.springframework.web.bind.annotation.RestController;
    
        @RestController
        @RefreshScope
        public class EchoController {
    
            @Value("${test.name}")
            private String userName;
    
            @RequestMapping(value = "/")
            public String echo() {
                return userName;
            }
        }                        
  6. Di direktori src\main\resources, buat file konfigurasi bootstrap.properties. Di file bootstrap.properties, tambahkan item konfigurasi berikut untuk menentukan alamat Nacos Server.

    Dalam item konfigurasi berikut, 127.0.0.1:8848 adalah alamat Nacos Server, dan 18081 adalah port layanan.

    Jika Nacos Server Anda diterapkan di mesin lain, ubah alamat IP dan port ke yang relevan. Jika Anda memiliki persyaratan lain, tambahkan item konfigurasi terkait di file bootstrap.properties. Untuk informasi lebih lanjut, lihat Item konfigurasi untuk referensi.

     spring.application.name=nacos-config-example
     server.port=18081
     spring.cloud.nacos.config.server-addr=127.0.0.1:8848                        
  7. Jalankan fungsi utama di kelas NacosConfigExampleApplication untuk memulai aplikasi.

Langkah 2: Terapkan aplikasi di SAE

Setelah mengembangkan dan menguji aplikasi di lingkungan lokal, Anda dapat menerapkan aplikasi di SAE. Untuk informasi lebih lanjut, lihat Terapkan aplikasi.

  • Pusat manajemen konfigurasi SAE menyediakan versi komersial resmi Nacos Server. Saat menerapkan aplikasi di SAE, SAE menentukan informasi berikut dengan prioritas lebih tinggi: alamat IP dan port layanan Nacos Server, namespace, access-key, secret-key, dan context-path. Anda tidak perlu mengonfigurasi pengaturan tambahan. Anda dapat mempertahankan atau menghapus konfigurasi asli.

  • Pertama kali Anda menerapkan aplikasi di SAE console, Anda harus mengatur parameter Application Runtime Environment ke Standard Java Application Runtime Environment jika Anda memilih Deployment with JAR Packages saat membuat aplikasi.

    t5edYO3jaM

Sebelum menerapkan aplikasi, gunakan fitur manajemen konfigurasi SAE untuk membuat konfigurasi aplikasi yang sama seperti yang ada di Nacos Server lokal.

  1. Masuk ke konsol SAE. Di panel navigasi sisi kiri, klik Namespace, lalu pilih wilayah di bilah menu atas.

  2. Di halaman Namespace, klik nama namespace yang diinginkan.

  3. Di halaman yang muncul, pilih Distributed Configuration Management > Configurations di panel navigasi sisi kiri. Di halaman Configurations, klik Create Configuration.

  4. Di panel Create Configuration yang muncul, konfigurasikan parameter, lalu klik Create. Tabel berikut menjelaskan parameter.

    Parameter

    Deskripsi

    Data ID

    ID konfigurasi. Dalam contoh ini, nacos-config-example.properties ditentukan.

    Untuk memastikan bahwa ID bersifat unik secara global, tentukan ID dalam format yang mengikuti konvensi penamaan package.class. Contoh: com.taobao.tc.refund.log.level. Kami merekomendasikan agar Anda mengatur parameter class ke nama konfigurasi yang memiliki makna bisnis.

    Group

    Nama grup konfigurasi. Dalam contoh ini, DEFAULT_GROUP digunakan.

    Untuk memastikan bahwa nama grup bersifat unik secara global, kami merekomendasikan agar Anda menentukan nama grup dalam format product name:module name. Contoh: ACM:Test. Anda dapat melakukan autentikasi berdasarkan grup.

    Data Encryption

    Menentukan apakah akan mengenkripsi data konfigurasi. Jika konfigurasi Anda berisi data sensitif, kami merekomendasikan agar Anda mengaktifkan fitur enkripsi data untuk mencegah kebocoran data sensitif.

    Penting

    Sebelum Anda dapat mengaktifkan fitur enkripsi data, Anda harus mengaktifkan Key Management Service (KMS) dan memberikan izin kepada ACM untuk menggunakan KMS untuk enkripsi dan dekripsi data. Fitur enkripsi data ACM bergantung pada KMS. Anda harus mengaktifkan KMS dan memberikan izin yang diperlukan kepada ACM. Data ID konfigurasi terenkripsi dimulai dengan cipher-. Untuk informasi lebih lanjut, lihat Buat dan gunakan file konfigurasi terenkripsi.

    Configuration Format

    Format konten konfigurasi. Dalam contoh ini, TEXT dipilih.

    Configuration Content

    Konten konfigurasi. Dalam contoh ini, test.name=nacos-config-test ditentukan.

    Configuration Description

    Deskripsi konfigurasi.

    More Configuration

    Application

    Nama aplikasi tempat konfigurasi tersebut berada.

    Label

    Label. Anda dapat mengelola konfigurasi berdasarkan label. Anda dapat menambahkan hingga lima label.

Langkah 3: Verifikasi hasil

Setelah menerapkan aplikasi, Anda dapat melihat log terkait untuk memeriksa apakah aplikasi telah dimulai.

  1. Jalankan perintah curl http://<application instance IP>:<service port>.

    Sebagai contoh, Anda dapat menjalankan perintah curl http://192.168.0.34:8080 untuk memeriksa apakah konten konfigurasi nacos-config-test dikembalikan.

  2. Masuk ke SAE console, ubah konten konfigurasi asli menjadi nacos-config-test2, lalu jalankan perintah curl http://<application instance IP>:<service port>.

    Sebagai contoh, Anda dapat menjalankan perintah curl http://192.168.0.34:8080 untuk memeriksa apakah konten konfigurasi baru nacos-config-test2 dikembalikan.

Item konfigurasi untuk referensi

Jika Anda memiliki persyaratan lain, Anda dapat merujuk tabel berikut dan menambahkan item konfigurasi ke file bootstrap.properties.

Item konfigurasi

key

Nilai default

Deskripsi

Server address

spring.cloud.nacos.config.server-addr

Tidak ada

Tidak ada.

Data ID prefix

spring.cloud.nacos.config.prefix

${spring.application.name}

Awalan dari Data ID.

Group

spring.cloud.nacos.config.group

DEFAULT_GROUP

Grup.

Data ID suffix and configuration file format

spring.cloud.nacos.config.file-extension

properties

Akhiran dari Data ID. Item konfigurasi ini juga menentukan format file konfigurasi. Nilai default adalah properties. Format YAML dan YML didukung.

Encoding method of the configuration content

spring.cloud.nacos.config.encode

UTF-8

Metode pengkodean konten konfigurasi.

Timeout period for retrieving the configuration

spring.cloud.nacos.config.timeout

3000

Satuan: milidetik.

Namespace of the configuration

spring.cloud.nacos.config.namespace

Namespace banyak digunakan untuk mengisolasi konfigurasi di lingkungan yang berbeda. Sebagai contoh, Anda dapat menggunakan namespace untuk mengisolasi sumber daya dalam lingkungan pengembangan, pengujian, dan produksi.

Relative path

spring.cloud.nacos.config.context-path

Path relatif API server.

Endpoint

spring.cloud.nacos.config.endpoint

UTF-8

Endpoint layanan di wilayah tersebut. Anda dapat memperoleh alamat server secara dinamis berdasarkan endpoint.

Enable listener and auto-refresh

spring.cloud.nacos.config.refresh.enabled

true

Nilai default adalah true. Anda tidak perlu mengubah item konfigurasi ini.

Untuk informasi lebih lanjut tentang item konfigurasi, lihat dokumentasi open source Spring Cloud Alibaba Nacos Config.