Anda dapat menggunakan MSE Sync untuk menyinkronkan semua data layanan dari instans Consul ke instans Microservices Engine (MSE) Nacos dengan konfigurasi sederhana. Selama migrasi, dependensi layanan diganti dan konfigurasi aplikasi dikemas ulang. Topik ini menjelaskan cara memigrasikan data layanan dari instans Consul ke instans MSE Nacos.
Prasyarat
Sebuah mesin Nacos telah dibuat. Untuk informasi lebih lanjut, lihat Buat Mesin Nacos.
MSE Sync telah diterapkan. Untuk informasi lebih lanjut, lihat Solusi Migrasi Berbasis MSE Sync.
Prosedur
Mulai MSE Sync dan impor konfigurasi dari instans sumber dan tujuan ke MSE Sync menggunakan file konfigurasi.
Buat file konfigurasi yang berisi konten berikut:
clusters: - clusterName: dst connectKeyList: - {nacos.endpoint}:8848 clusterType: NACOS - clusterName: src connectKeyList: - {consul.endpoint}:8500 clusterType: CONSUL tasks: - source: src destination: dstGanti
{nacos.endpoint}di file konfigurasi dengan titik akhir instans MSE Nacos. Sebagai contoh, ganti {nacos.endpoint} denganmse-zzzzz-.nacos-ans.mse.aliyuncs.com.Ganti
{consul.endpoint}di file konfigurasi dengan alamat IP instans Consul. Sebagai contoh, ganti {consul.endpoint} dengan10.0.0.1.
Impor file konfigurasi ke MSE Sync. Setelah diimpor, MSE Sync secara berkala memindai layanan baru di instans sumber dan tujuan serta otomatis membuat tugas untuk menyinkronkan data layanan.
Periksa jumlah tugas sinkronisasi yang selesai dan pastikan semua data layanan telah disinkronkan.
Ganti dependensi klien dan modifikasi konfigurasi.
Ganti dependensi klien. Ganti Consul SDK dengan Nacos SDK.
Untuk aplikasi Spring Cloud, ganti
spring-cloud-starter-consul-discoverydenganspring-cloud-starter-alibaba-nacos-discoveryyang kompatibel dengan Spring Cloud.Modifikasi konfigurasi. Perbarui file konfigurasi untuk mengonfigurasi instans MSE Nacos sebagai registri.
Dalam contoh ini, konfigurasi instans Consul diganti dengan konfigurasi instans MSE Nacos. Anotasi menunjukkan konfigurasi asli.
server: port: 9999 spring: application: name: sp-provider cloud: nacos: discovery: server-addr: mse-xxxxx-nacos-ans.mse.aliyuncs.com:8848 # consul: # host: 11.164.x.x # port: 8500 # config: # enabled: false # discovery: # health-check-path: /health
Kemas ulang dan rilis aplikasi.
Periksa apakah aplikasi dimulai dan dipanggil dengan normal, serta pastikan aplikasi terdaftar dengan instans MSE Nacos di konsol MSE.
MSE Sync secara berkala memindai informasi tentang instans Consul dan menyinkronkan pembaruan informasi. Anda dapat menyesuaikan interval pembaruan informasi instans dengan menentukan consul.refresh.interval. Nilai defaultnya adalah 5 detik.
Tanya Jawab Umum
Data layanan di instans Consul tidak disinkronkan ke instans MSE Nacos. Mengapa?
Periksa apakah layanan di Consul lulus pemeriksaan kesehatan. MSE Sync hanya menyinkronkan data dari instans yang sehat.
Referensi
Untuk informasi lebih lanjut tentang MSE Sync dan jenis instans lain yang didukung oleh MSE Sync, lihat Solusi Migrasi Berbasis MSE Sync.