Jika aplikasi Dubbo Anda diterapkan di Alibaba Cloud, Anda dapat memigrasikannya ke Serverless App Engine (SAE). Topik ini menjelaskan cara memigrasikan aplikasi secara mulus ke SAE.
Langkah 1: Migrasikan aplikasi pertama
Berikut adalah contoh cara memigrasikan aplikasi demo ke SAE. Untuk informasi tentang URL unduhan aplikasi demo, lihat Demo.
Tetapkan prioritas aplikasi yang ingin dimigrasikan ke SAE.
Pilih aplikasi dengan prioritas tinggi untuk migrasi. Kami menyarankan Anda memulai dari penyedia dasar. Jika jejaknya kompleks dan sulit dianalisis, Anda dapat memilih aplikasi secara acak.
Tambahkan dependensi ke aplikasi dan modifikasi konfigurasi aplikasi.
CatatanDalam contoh ini, solusi migrasi dual-registration dan dual-subscription digunakan untuk memigrasikan aplikasi.
Tambahkan dependensi
edas-dubbo-migration-bomke file pom.xml.<dependency> <groupId>com.alibaba.edas</groupId> <artifactId>edas-dubbo-migration-bom</artifactId> <version>2.6.5.1</version> <type>pom</type> </dependency>Tambahkan alamat IP registri SAE ke application.properties.
dubbo.registry.address = edas-migration://192.168.XX.XX:9999?service-registry=edas://127.0.XX.XX:8080,zookeeper://192.168.XX.XX:2181&reference-registry=zookeeper://192.168.XX.XX:2181&config-address=127.0.XX.XX:8848PentingJika aplikasi bukan aplikasi Spring Boot, tentukan alamat registri di dubbo.properties atau file konfigurasi Spring.
Parameter
Deskripsi
edas-migration://192.168.XX.XX:9999
Header alamat registri. Jika aplikasi terdaftar dengan beberapa layanan registri, Anda tidak perlu mengubah header. Jika level log WARN atau lebih rendah, log WARN mungkin dilemparkan saat startup karena Dubbo memverifikasi alamat IP dan port. Log ini bisa diabaikan.
service-registry
Alamat registri untuk pendaftaran layanan. Anda dapat menentukan beberapa alamat registri. Setiap alamat registri dalam format standar alamat registri Dubbo. Pisahkan beberapa alamat registri dengan koma (
,). Dalam contoh ini,192.168.XX.XXmenunjukkan alamat ZooKeeper. Tentukan alamat IP dan port berdasarkan skenario bisnis Anda.reference-registry
Alamat registri untuk langganan layanan. Anda dapat menentukan beberapa alamat registri. Anda juga dapat menentukan alamat registri asli sebelum migrasi.
config-address
Alamat yang didorong secara dinamis.
Selesaikan modifikasi lainnya.
Jika aplikasi bukan aplikasi Spring atau Spring Boot, tambahkan
com.alibaba.edas.dubbo.migration.controller.EdasDubboRegistryRestke jalur pemindaian.
Verifikasi hasil di lingkungan lokal Anda.
Dalam contoh ini, konfigurasi dinamis digunakan.
Selesaikan persiapan sebelum verifikasi. Sebelum memverifikasi hasil, lakukan operasi berikut:
Periksa apakah layanan telah terdaftar.
Masuk ke pusat konfigurasi ringan untuk melihat layanan dalam daftar penyedia layanan.
Masuk ke ZooKeeper untuk melihat informasi tentang pendaftaran dan konsumsi layanan.
(Opsional) Masuk ke Nacos untuk mengonfigurasi informasi pendaftaran layanan.
CatatanLewati langkah ini jika konfigurasi dinamis tidak diperlukan.
Parameter
Deskripsi
DataId
Setel parameter ini ke dubbo.registry.config.
Group
Setel parameter ini ke nama aplikasi Dubbo yang ditentukan oleh parameter applicationName. Contoh: dubbo-migration-demo-server. Nama aplikasi harus unik karena informasi pendaftaran layanan dikonfigurasi pada tingkat aplikasi.
Konten Konfigurasi
Tingkat aplikasi
dubbo.reference.registry=edas://127.0.XX.XX:8080 # Alamat registri untuk pendaftaran layanan. dubbo.service.registry=edas://127.0.XX.XX:8080,zookeeper:127.0.XX.XX:2181 # Alamat registri untuk langganan layanan.Tingkat alamat IP instance
192.168.XX.XX.dubbo.reference.registry=edas://127.0.XX.XX:8080,zookeeper:127.0.XX.XX:2181 192.168.XX.XX.dubbo.service.registry=edas://127.0.XX.XX:8080
Saat memvalidasi kluster, kami sarankan Anda pertama-tama memeriksa apakah konfigurasi pada tingkat alamat IP instance berlaku. Kemudian, periksa konfigurasi pada tingkat aplikasi.
Periksa apakah panggilan aplikasi normal setelah migrasi dan periksa hubungan pendaftaran serta langganan registri layanan.
Spring Boot 1.x: http://ip:port/dubboRegistry
Spring Boot 2.x: http://ip:port/actuator/dubboRegistry

Terapkan aplikasi di SAE.
Terapkan aplikasi di SAE sesuai skenario bisnis Anda. Untuk informasi lebih lanjut, lihat Penyebaran Aplikasi.
Verifikasi hasil.
Periksa apakah bisnis Anda berjalan sesuai harapan.
Lihat data pemantauan langganan layanan.
Jika Spring Boot Actuator diaktifkan untuk aplikasi, Anda dapat mengakses Actuator untuk melihat informasi tentang RibbonServerList setiap layanan yang dilanggan oleh aplikasi. Anda dapat mengakses Actuator menggunakan URL berikut:
Spring Boot 1.x: http://ip:port/dubboRegistry
Spring Boot 2.x: http://ip:port/actuator/dubboRegistry

Deskripsi parameter:
dubbo.orig.**: Informasi registri layanan yang dikonfigurasi dalam aplikasi.dubbo.effective.**: Informasi registri layanan yang berlaku dalam aplikasi.
Langkah 2: Migrasikan aplikasi lainnya
Migrasikan semua aplikasi ke SAE secara berurutan. Untuk informasi lebih lanjut, lihat Langkah 1: Migrasikan Aplikasi Pertama.
Langkah 3: Hapus konfigurasi migrasi
Setelah migrasi, hapus konfigurasi registri layanan asli dan dependensi edas-dubbo-migration-bom yang digunakan selama migrasi.
Ubah alamat registri dengan menghapus konfigurasi ZooKeeper. Ini memastikan bahwa konsumen hanya berlangganan alamat registri dari SAE dan penyedia hanya menawarkan langganan di SAE. Anda dapat mengubah alamat registri menggunakan metode berikut:
Metode 1: Konfigurasi dinamis. Untuk informasi lebih lanjut, lihat Verifikasi Hasil di Lingkungan Lokal Anda.
Metode 2: Modifikasi manual.
Ubah alamat registri menjadi alamat SAE Config Server setelah semua aplikasi dimodifikasi.
dubbo.registry.address = edas-migration://192.168.XX.XX:9999?service-registry=edas://127.0.XX.XX:8080,zookeeper://192.168.XX.XX:2181&reference-registry=edas://127.0.XX.XX:8080&config-address=127.0.XX.XX:8848Ubah nilai
reference-registrydarizookeeper://192.168.XX.XX:2181menjadiedas://127.0.XX.XX:8080. Lalu, terapkan aplikasi.CatatanHapus
zookeeper://192.168.XX.XX:2181dari konfigurasi registri layanan jikaZooKeepertidak lagi diperlukan setelah migrasi.Dari jangka panjang, ZooKeeper tidak berpengaruh pada stabilitas layanan tetapi meningkatkan kompleksitas dan tingkat kesalahan penggunaan registri layanan di Dubbo. Kami sarankan Anda membersihkan konfigurasi ZooKeeper setelah migrasi dan me-restart aplikasi secara bertahap selama jam-jam sepi. Kode sampel berikut menunjukkan alamat registri akhir.
dubbo.registry.address = edas://127.0.XX.XX:8080