Saat mengembangkan aplikasi Spring Cloud, Anda dapat menggunakan Nacos untuk mengelola konfigurasi aplikasi di lingkungan lokal. Nacos adalah versi open source dari Application Configuration Management. Setelah menerapkan aplikasi ke Enterprise Distributed Application Service (EDAS), Anda dapat mengelola dan mendorong konfigurasi aplikasi melalui Application Configuration Management yang terintegrasi dengan EDAS.
Topik ini menjelaskan cara mengembangkan aplikasi contoh dari awal dan menggunakan Spring Cloud Alibaba Nacos Config untuk mengelola konfigurasi aplikasi. Anda juga dapat mengunduh demo nacos-config-example.zip untuk menggunakan aplikasi contoh.
Spring Cloud Alibaba Nacos Config mengintegrasikan Nacos dan kerangka kerja Spring Cloud serta mendukung spesifikasi injeksi konfigurasi Spring Cloud.
Fitur manajemen konfigurasi EDAS tidak bertentangan dengan fitur manajemen konfigurasi Nacos open source.
Sebelum memulai
Sebelum mengembangkan aplikasi, pastikan operasi berikut telah selesai:
Unduh Maven dan konfigurasikan variabel lingkungan.
Unduh versi terbaru Nacos Server.
Mulai Nacos Server.
Ekstrak paket Nacos Server yang diunduh.
Pergi ke direktori nacos/bin dan gunakan salah satu metode berikut untuk memulai Nacos Server. Metode bervariasi berdasarkan sistem operasi Anda:
Linux, UNIX, atau macOS: Jalankan perintah
sh startup.sh -m standalone.Windows: Klik dua kali file startup.cmd untuk menjalankan file tersebut.
Catatanstandalonemenentukan bahwa mode standalone, bukan mode kluster, dijalankan. Secara default, file startup.cmd dimulai dalam mode kluster. Jika Anda mengklik dua kali file startup.cmd untuk menjalankan file tersebut di Windows, file gagal dimulai. Dalam hal ini, Anda harus menambahkanMODE="standalone"ke file startup.cmd. Untuk informasi lebih lanjut, lihat Panduan Cepat untuk Nacos.
Buat konfigurasi di konsol Nacos Server lokal.
Masuk ke konsol Nacos Server lokal. Nama pengguna dan kata sandi default adalah nacos.
Di panel navigasi sisi kiri, pilih ConfigManagement > Configurations. Di sudut kanan atas halaman configurations, klik ikon
untuk membuat konfigurasi.Di halaman Create Configuration, konfigurasikan parameter berikut dan klik Publish:
Data ID: Masukkan nacos-config-example.properties di bidang tersebut.
Group: Pilih DEFAULT_GROUP.
Format: Pilih Properties.
Configuration Content: Masukkan test.name=nacos-config-test di editor kode.
Gunakan Spring Cloud Alibaba Nacos Config untuk mengelola konfigurasi
Buat proyek Maven bernama nacos-config-example.
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.
CatatanSpring Cloud Edgware sudah tidak digunakan lagi. Kami merekomendasikan agar Anda tidak menggunakan Spring Cloud Edgware untuk mengembangkan aplikasi.
Di src\main\java, buat paket
com.aliware.edas.Di paket
com.aliware.edas, buat kelas startupNacosConfigExampleApplicationuntuk proyeknacos-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); } }Di paket
com.aliware.edas, buat controller sederhanaEchoController. PropertiuserNamedisuntikkan secara otomatis. Kemudian, tambahkan anotasi@Valueuntuk mendapatkan nilai dari 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; } }Di direktori
src\main\resources, buat file konfigurasibootstrap.properties. Di filebootstrap.properties, tambahkan item konfigurasi berikut untuk menentukan alamat Nacos Server.Dalam item konfigurasi berikut,
127.0.0.1:8848adalah alamat Nacos Server, dan18081adalah 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 yang relevan 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:8848Jalankan fungsi utama di kelas
NacosConfigExampleApplicationuntuk memulai aplikasi.
Verifikasi hasil di lingkungan lokal
Kunjungi http://127.0.0.1:18081 di browser Anda. Nilai nacos-config-test dikembalikan. Nilai ini adalah nilai dari kunci test.name yang Anda konfigurasikan di langkah Buat konfigurasi di konsol Nacos Server lokal dari topik ini.
Terapkan aplikasi ke EDAS
Sebelum menerapkan aplikasi ke EDAS, Anda harus membuat konfigurasi menggunakan modul manajemen konfigurasi EDAS. Konfigurasi tersebut harus sama dengan konfigurasi yang dibuat di konsol Nacos Server lokal. Dengan cara ini, konfigurasi dapat disinkronkan ke EDAS setelah aplikasi diterapkan ke EDAS.
Buat konfigurasi yang sama di EDAS seperti konfigurasi yang dibuat di konsol Nacos Server lokal.
Masuk ke .
Di panel navigasi sebelah kiri, pilih .
Di bilah navigasi atas halaman Configurations, pilih wilayah tempat Anda ingin membuat konfigurasi. Dari daftar drop-down Namespace Layanan Mikro di bagian atas, pilih namespace layanan mikro untuk konfigurasi. Lalu, klik Create Configuration.
Di panel Create Configuration, konfigurasikan pengaturan parameter yang sama dengan pengaturan parameter yang dikonfigurasikan di konsol Nacos Server lokal, dan klik Create.
Data ID: Masukkan nacos-config-example.properties di bidang tersebut.
Group: Pilih DEFAULT_GROUP.
Format: Pilih Properties.
Configuration Content: Masukkan test.name=nacos-config-test di editor kode.
CatatanParameter Region dan Microservice Namespace dikonfigurasikan di halaman Konfigurasi. Anda tidak dapat memodifikasi parameter di panel ini.
Terapkan aplikasi ke EDAS berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Ikhtisar (ECS) dan Ikhtisar (Kubernetes).
Apa yang harus dilakukan selanjutnya
Setelah aplikasi Anda diterapkan ke EDAS, Anda dapat terus melakukan iterasi dan memperbarui aplikasi. Jika Anda memulai Nacos Server, memperbarui aplikasi, dan memverifikasi hasil di lingkungan lokal, lalu menerapkan aplikasi ke EDAS untuk verifikasi online setiap kali, efisiensi pengembangan akan terpengaruh. Oleh karena itu, EDAS menyediakan fitur interkoneksi antara aplikasi lokal dan cloud. Setelah Anda mengaktifkan fitur ini untuk aplikasi dan memulai aplikasi di lingkungan lokal, efeknya sama seperti menerapkan aplikasi ke EDAS. Konfigurasi aplikasi dapat dibaca dari modul manajemen konfigurasi EDAS, dan panggilan timbal balik dapat diimplementasikan antara aplikasi dan aplikasi cloud lainnya.
Item konfigurasi untuk referensi
Jika Anda memiliki persyaratan lain, Anda dapat merujuk pada 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 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 Data ID. Item konfigurasi ini juga menentukan format file konfigurasi. Nilai defaultnya 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. Misalnya, Anda dapat menggunakan namespace untuk mengisolasi sumber daya di lingkungan pengembangan, uji, 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 defaultnya adalah true. Anda tidak perlu memodifikasi item konfigurasi ini. |
Untuk informasi lebih lanjut tentang item konfigurasi, lihat dokumentasi open source Spring Cloud Alibaba Nacos Config.