Berbagi teknologi

Catatan Studi Grain Mall-23-Komponen Terdistribusi-SpringCloud Alibaba-Pusat Konfigurasi Nacos-Contoh Sederhana

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Saya telah belajar menggunakan Nacos sebagai pusat pendaftaran sebelumnya. Di bagian ini, kita akan mempelajari fungsi inti Nacos lainnya:配置中心

1. Pengenalan Pusat Konfigurasi Nacos

Nacos adalah platform yang mudah digunakan untuk penemuan layanan dinamis dan manajemen konfigurasi. Sebagai pusat konfigurasi, Nacos menyediakan fungsi dan keunggulan inti sebagai berikut:

  1. Manajemen konfigurasi dinamis: Nacos memungkinkan pengguna untuk secara dinamis mengubah dan mendorong informasi konfigurasi tanpa memulai ulang layanan, sehingga mencapai pembaruan konfigurasi secara real-time.

  2. Konfigurasikan penyimpanan terpusat: Nacos menyediakan penyimpanan konfigurasi terpusat, membuat informasi konfigurasi mudah dikelola dan dipelihara, serta menghindari masalah konfigurasi yang tersebar di lingkungan dan sistem yang berbeda.

  3. Konfigurasikan kontrol versi: Nacos mendukung kontrol versi konfigurasi, yang dapat melacak riwayat perubahan konfigurasi dan memfasilitasi operasi rollback.

  4. Konfigurasikan berbagi: Nacos memungkinkan berbagi konfigurasi di seluruh layanan, meningkatkan penggunaan kembali konfigurasi, dan mengurangi redundansi.

  5. Konfigurasikan isolasi: Melalui konsep namespace, Nacos mendukung isolasi konfigurasi lingkungan yang berbeda (seperti pengembangan, pengujian, dan produksi) untuk memastikan bahwa konfigurasi antar lingkungan tidak akan saling mengganggu.

  6. Konfigurasikan mendengarkan dan mendorong: Nacos menyediakan fungsi pemantauan konfigurasi. Ketika konfigurasi berubah, Nacos dapat secara aktif mendorong pembaruan ke klien untuk mencapai pembaruan terbaru dari konfigurasi.

  7. keamanan: Nacos mendukung kontrol akses konfigurasi dan manajemen izin untuk memastikan bahwa hanya pengguna yang berwenang yang dapat mengakses atau mengubah konfigurasi.

  8. Dukungan berbagai lingkungan: Nacos mendukung berbagai lingkungan penerapan dan dapat memenuhi manajemen konfigurasi dengan skala dan kebutuhan yang berbeda.

  9. Integrasikan dengan Spring Cloud: Nacos terintegrasi erat dengan Spring Cloud dan menyediakan spring-cloud-starter-alibaba-nacos-config dan komponen lainnya, menyederhanakan proses penggunaan pusat konfigurasi Nacos dalam aplikasi Spring Cloud.

  10. Kemudahan penggunaan: Nacos menyediakan antarmuka pengguna yang ramah, membuat tampilan, modifikasi, dan pengelolaan konfigurasi menjadi intuitif dan sederhana.

Sebagai pusat konfigurasi, Nacos cocok untuk arsitektur layanan mikro, aplikasi cloud native, dan sistem terdistribusi yang memerlukan manajemen konfigurasi dinamis. Dengan mengelola konfigurasi secara terpusat, Nacos membantu perusahaan meningkatkan efisiensi dan keamanan manajemen konfigurasi, sekaligus menyederhanakan pekerjaan pengembangan, pengoperasian, dan pemeliharaan.

2. Petunjuk penggunaan Pusat Konfigurasi Nacos

Petunjuk penggunaan dicatat secara rinci dalam dokumentasi resmi, klik untuk melihat dokumentasihttps://nacos.io/zh-cn/docs/v2/ekologi/menggunakan-nacos-dengan-awan-musim-semi.html

1. Deklarasikan ketergantungan Maven pada pusat konfigurasi

Untuk menggunakan pusat konfigurasi, Anda harus menambahkan dependensi terlebih dahulu.

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
  • 1
  • 2
  • 3
  • 4

Pada proyek Guli Mall, karena semua layanan harus menggunakan pusat konfigurasi Nacos, ketergantungan ini ditambahkan ke modul umum.

2. Konfigurasikan alamat dan nama aplikasi server Nacos di bootstrap.properties

Di direktori sumber daya proyek atau modul, nyatakan alamat dan nama layanan server Nacos di bootstrap.properties.

spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.application.name=gulimall-coupon
  • 1
  • 2

3. Buat file konfigurasi di antarmuka daftar konfigurasi Nacos

Masukkan deskripsi gambar di sini

Setelah mengklik Buat Konfigurasi, akan muncul halaman berikut.

Masukkan deskripsi gambar di sini

  • ① ID Data setara dengan nama file dan harus menyertakan nama layanan, seperti gulimall-coupon.properties
  • ② Jenis file konfigurasi mendukung beberapa jenis. Untuk layanan mikro, biasanya yaml atau properti.
  • ③ Kotak hitam berisi informasi konfigurasi yang harus diisi

ada Nacos Spring Cloud tengah,Data Id Format lengkapnya adalah sebagai berikut:

${prefix}-${spring.profiles.active}.${file-extension}
  • 1
  • prefix Standarnya adalahspring.application.name Nilainya juga dapat diteruskan melalui item konfigurasispring.cloud.nacos.config.prefixuntuk mengkonfigurasi.
  • spring.profiles.active Artinya, sesuai dengan lingkungan saat iniprofile , silakan merujuk ke dokumentasi Spring Boot untuk detailnya. Catatan: kapanspring.profiles.active Jika kosong, konektor yang sesuai - tidak akan ada, dan format penyambungan dataId menjadi${prefix}.${file-extension}
  • file-exetension Untuk mengonfigurasi format data konten, Anda dapat meneruskan item konfigurasispring.cloud.nacos.config.file-extension untuk mengkonfigurasi.Saat ini hanya mendukungproperties Danyaml jenis.

Tiga, tes

1. Masukkan informasi konfigurasi ke dalam proyek

Pertama-tama kita masukkan informasinya ke dalam file konfigurasi proyek, dan konfigurasikan informasi berikut di file konfigurasi application.properties dari modul kupon:

coupon.user.name=lcy
coupon.age=22
  • 1
  • 2

Masukkan deskripsi gambar di sini

2. Tulis kode pengujian

Tambahkan metode di Controller untuk menggunakan informasi konfigurasi di file konfigurasi.

	@Value("${coupon.user.name}")
    private String userName;
    @Value("${coupon.user.age}")
    private String userAge;

    @RequestMapping("test")
    public R test(){
        return R.ok().put("name", userName).put("age", userAge);
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

Perhatikan bahwa dalam kode di atas, kami memasukkan konfigurasi dalam file konfigurasi ke dalam variabel kelas melalui anotasi @Value, dan kemudian mereferensikannya dalam metode.

3. Tes

Setelah memulai layanan, masukkan alamat berikut di browser Anda.

http://localhost:7000/coupon/coupon/test
  • 1

Outputnya adalah sebagai berikut, menunjukkan bahwa informasi dalam file konfigurasi telah dibaca.
Masukkan deskripsi gambar di sini

4. Konfigurasikan informasi konfigurasi ke pusat konfigurasi

Ambil layanan kupon sebagai contoh untuk dikonfigurasi.
Masukkan deskripsi gambar di sini

Klik tombol edit di sisi kanan daftar file konfigurasi untuk masuk ke antarmuka pengeditan.

Masukkan deskripsi gambar di sini

Perhatikan bahwa untuk memperjelas perbedaan dan hubungan antara file konfigurasi pusat konfigurasi dan file konfigurasi lokal, kami tidak menghapus konfigurasi lokal pada langkah sebelumnya.

Saat ini, hanya ada satu konfigurasi yang dikonfigurasi di pusat konfigurasi. Konfigurasi ini juga tersedia di konfigurasi lokal, tetapi nilainya berbedacoupon.user.name=lcy, pusat konfigurasinya adalahcoupon.user.name=lcy2

Refresh browser setelah restart layanan.

Masukkan deskripsi gambar di sini
Jelasnya, nilai name diambil dari pusat konfigurasi, bukan dari file konfigurasi lokal.Nilai di pusat konfigurasi akan menimpa nilai di file konfigurasi lokal.

catatan eror

Catatan Kesalahan Pusat Konfigurasi Guli Mall