Enterprise Distributed Application Service (EDAS) mendukung koneksi non-intrusif ke Microservices Engine (MSE). Anda dapat menerapkan fitur tata kelola mikroservis yang disediakan oleh MSE pada aplikasi Spring Cloud dan aplikasi Dubbo di EDAS. Saat membuat atau menyebarkan aplikasi, Anda dapat mengonfigurasi fitur registrasi dan penemuan layanan, perlindungan daftar kosong, serta mulai mulus untuk aplikasi tersebut. Topik ini menjelaskan cara mengonfigurasi tata kelola mikroservis.
Informasi latar belakang
Registrasi dan penemuan layanan
Eureka, ZooKeeper, dan Nacos adalah jenis registri layanan populer dalam arsitektur mikroservis Java. Registri layanan digunakan untuk menerapkan registrasi dan penemuan layanan, memisahkan layanan, serta membebaskan Anda dari manajemen dependensi sehingga memungkinkan pengelolaan mikroservis secara dinamis.
Perlindungan daftar kosong
Fitur ini berlaku pada skenario ketika terjadi pengecualian pada server selama proses registrasi layanan. Dalam skenario tersebut, setelah klien meminta daftar alamat server (daftar instans) ke registri layanan, registri mengembalikan daftar kosong. Jika Anda mengaktifkan fitur perlindungan daftar kosong, klien akan mengabaikan daftar kosong tersebut dan menggunakan daftar instans terakhir yang dikembalikan secara normal dari cache. Hal ini memastikan klien tetap tersedia meskipun langganan dari klien terpengaruh oleh peristiwa tak terduga, seperti saat registri layanan memperbarui konfigurasi, melakukan peningkatan atau penurunan spesifikasi, atau mengalami pengecualian seperti putus jaringan atau pemadaman listrik.
Klien (konsumen) berlangganan daftar instans yang disediakan oleh server (penyedia) dari registri layanan. Ketika registri layanan memperbarui konfigurasi, melakukan peningkatan atau penurunan spesifikasi, atau mengalami pengecualian seperti putus jaringan atau pemadaman listrik, langganan konsumen mungkin terganggu, sehingga menurunkan ketersediaannya. Untuk menangani kesalahan langganan akibat pengecualian tersebut, Anda dapat mengaktifkan fitur perlindungan daftar kosong untuk konsumen.

Mulai mulus
Untuk aplikasi online, operasi seperti rilis, skala keluar, skala-masuk, dan restart tidak dapat dihindari. EDAS mengintegrasikan solusi mulai mulus dari MSE untuk melindungi aplikasi pada fase startup. Solusi ini menyediakan fitur-fitur seperti pra-ambil layanan, registrasi layanan tertunda, dan penyebaran bergulir tanpa gangguan.
Pra-ambil layanan: memungkinkan Anda menentukan periode pra-ambil dan kurva pra-ambil, sehingga mengurangi kemungkinan layanan yang baru diluncurkan gagal menangani lonjakan lalu lintas dalam periode singkat.
Registrasi layanan tertunda: memaksa aplikasi hanya didaftarkan setelah periode tambahan yang ditentukan berakhir. Hal ini memastikan aplikasi tidak terdaftar sebelum inisialisasi selesai, memberikan waktu yang cukup untuk memproses permintaan asinkron dan menyiapkan sumber daya komputasi, sehingga mencegah kesalahan akibat kegagalan inisialisasi.
Jika proses inisialisasi aplikasi kompleks, registrasi dan inisialisasi aplikasi mungkin berlangsung secara bersamaan. Aplikasi bisa saja telah terdaftar di registri sebelum sepenuhnya diinisialisasi. Dalam kasus ini, jika aplikasi dipanggil oleh konsumen, kesalahan mungkin dikembalikan. Untuk mengatasi masalah ini, Anda dapat menggunakan fitur registrasi layanan tertunda agar aplikasi hanya terdaftar di registri setelah inisialisasi selesai sepenuhnya.
Penyebaran bergulir tanpa gangguan: menyediakan antarmuka pemeriksaan kesehatan bagi konsumen di luar sistem mikroservis untuk memeriksa apakah aplikasi siap. Hal ini memastikan semua konsumen—baik di dalam maupun di luar sistem mikroservis—dapat memverifikasi status aplikasi. Fitur ini mendukung pemeriksaan status registrasi layanan dan status pra-ambil layanan.
Penyebaran bergulir tanpa gangguan di Kubernetes membagi proses rilis lengkap menjadi beberapa batch, dengan satu batch dirilis setiap kali. Setelah semua batch dirilis, penyebaran bergulir tanpa gangguan selesai. EDAS mengoordinasikan siklus hidup mikroservis dan siklus hidup layanan Kubernetes untuk aplikasi Kubernetes, serta menyediakan kemampuan mulai mulus sehingga aplikasi terdaftar di registri dan menjalankan pra-ambil sebelum pemeriksaan kesiapan. Hal ini memastikan instans aplikasi yang tersedia tetap berjalan selama penyebaran bergulir tanpa gangguan.
Registrasi sebelum pemeriksaan kesiapan: EDAS menyediakan fitur yang menyelaraskan siklus hidup mikroservis dengan pemeriksaan kesiapan Kubernetes. Jika Anda mengaktifkan fitur ini, EDAS Agent menyediakan port untuk mendeteksi apakah aplikasi telah terdaftar di registri tanpa mengganggu aplikasi. Jika EDAS mendeteksi bahwa aplikasi telah terdaftar, kode status 200 dikembalikan; jika belum, kode status 500 dikembalikan.
Pra-ambil sebelum pemeriksaan kesiapan: EDAS memungkinkan Anda mengaitkan fitur pra-ambil layanan dengan pemeriksaan kesiapan Kubernetes, sehingga aplikasi dianggap siap hanya setelah layanan yang diaktifkan untuk aplikasi tersebut selesai dipra-ambil.
Batasan
Anda hanya dapat mengaktifkan fitur perlindungan daftar kosong dan mulai mulus secara non-intrusif untuk aplikasi Spring Cloud dan aplikasi Dubbo. Tabel berikut menjelaskan versi Spring Cloud dan Dubbo yang didukung.
Item
Perlindungan daftar kosong
Mulai mulus
Spring Cloud
Spring Cloud Edgware dan versi lebih baru
Spring Cloud Edgware dan versi lebih baru
Dubbo
Dubbo 2.5.3 hingga 2.7.8
CatatanJika Anda ingin menggunakan fitur-fitur tersebut pada Dubbo 3.0 dan versi lebih baru, bergabunglah dengan grup DingTalk (ID: 31723701) untuk mendapatkan dukungan teknis.
Dubbo 2.7.3 hingga 2.7.8
CatatanJika Anda ingin menggunakan fitur-fitur tersebut pada Dubbo 2.6 atau Dubbo 3.0 dan versi lebih baru, bergabunglah dengan grup DingTalk (ID: 31723701) untuk mendapatkan dukungan teknis.
Registri layanan Nacos, Eureka, dan ZooKeeper didukung.
Secara umum, aplikasi gerbang tidak dipanggil melalui registri, melainkan melalui API yang diekspos. Oleh karena itu, fitur pra-ambil lalu lintas rendah yang disediakan oleh MSE tidak efektif untuk aplikasi gerbang. Selain itu, aplikasi gerbang biasanya tidak memiliki perubahan besar atau logika bisnis yang kompleks, sehingga fitur pra-ambil layanan tidak wajib untuk aplikasi gerbang.
Untuk aplikasi yang dirilis dalam mode canary, Anda tidak dapat mengaktifkan fitur pra-ambil layanan untuk batch pertama.
Konfigurasi tata kelola mikroservis saat membuat aplikasi
Masuk ke Konsol EDAS. Di panel navigasi sebelah kiri, pilih . Halaman Applications muncul. Di bilah navigasi atas, pilih wilayah. Di bagian atas halaman, pilih namespace. Di pojok kiri atas, klik Create Application.
Pada langkah Basic Information, atur parameter Jenis Kluster dan Lingkungan Runtime Aplikasi, lalu klik Next. Tabel berikut menjelaskan parameter tersebut.
Parameter
Deskripsi
Cluster Type
Jenis kluster tempat Anda ingin menyebarkan aplikasi. Pilih Kubernetes Clusters.
Application Runtime Environment
Lingkungan runtime aplikasi. Pilih lingkungan runtime aplikasi berdasarkan jenis aplikasi yang dihosting.
Java
Custom: Pilih opsi ini jika Anda ingin menggunakan gambar kustom untuk menyebarkan aplikasi di kluster Container Service for Kubernetes (ACK).
Java: Pilih opsi ini jika Anda ingin menggunakan paket JAR universal untuk menyebarkan aplikasi sebagai aplikasi Dubbo atau Spring Boot. Anda dapat mengatur parameter Lingkungan Java setelah memilih opsi ini.
Tomcat: Pilih opsi ini jika Anda ingin menggunakan paket WAR universal untuk menyebarkan aplikasi sebagai aplikasi Dubbo atau Spring. Anda dapat mengatur parameter Lingkungan Java dan Versi Kontainer setelah memilih opsi ini.
EDAS-Container (HSF): Pilih opsi ini jika Anda ingin menggunakan paket WAR atau FatJar untuk menyebarkan aplikasi sebagai aplikasi High-speed Service Framework (HSF). Anda dapat mengatur parameter Lingkungan Java, Versi Pandora, dan Versi Ali-Tomcat setelah memilih opsi ini.
PHP: Pilih opsi ini jika aplikasi adalah aplikasi PHP yang berjalan di Apache HTTP Server.
Node.js, C++, Go, and Other Languages: Pilih opsi ini jika Anda ingin menggunakan gambar kustom untuk menyebarkan aplikasi di kluster Kubernetes. Proses konfigurasi untuk aplikasi multi-bahasa tidak dijelaskan dalam topik ini.
CatatanJika Anda memilih EDAS-Container (HSF) di bagian Pilih Aplikasi, Anda hanya dapat mengaktifkan fitur registrasi dan penemuan layanan untuk aplikasi tersebut.
Jika Anda memilih PHP atau Node.js, C++, Go, and Other Languages di bagian Aplikasi yang Dihosting, Anda tidak dapat mengonfigurasi tata kelola mikroservis untuk aplikasi tersebut.
Pada langkah Configurations, konfigurasikan informasi lingkungan, informasi dasar, dan metode penyebaran untuk aplikasi, atur parameter sumber daya terkait, lalu klik Next.
Pada langkah Advanced Settings, klik Microservices Governance. Kemudian, Anda dapat mengonfigurasi fitur registrasi dan penemuan layanan, perlindungan daftar kosong, serta mulai mulus sesuai kebutuhan bisnis Anda.
Parameter
Deskripsi
Service Registration and Discovery
Metode O&M untuk registri layanan Anda. Anda dapat memilih registri layanan bersama EDAS atau registri layanan yang dikonfigurasi untuk aplikasi. Untuk informasi selengkapnya, lihat Pilih metode O&M untuk registri layanan Anda.
Empty List Protection
Menentukan apakah akan mengaktifkan fitur perlindungan daftar kosong.
Jika Anda mengaktifkan perlindungan daftar kosong, langganan terhadap daftar instans kosong oleh konsumen akan diabaikan. Hal ini memastikan ketersediaan layanan yang tinggi.
Jika Anda menonaktifkan perlindungan daftar kosong, bisnis Anda akan terganggu dan kesalahan dikembalikan ketika konsumen berlangganan daftar instans kosong.
Graceful Release
Menentukan apakah akan mengaktifkan fitur mulai mulus. Untuk mengaktifkan fitur ini, atur parameter berikut:
Prefetching Duration (Seconds): periode waktu yang diperlukan untuk pra-ambil layanan pada startup berikutnya dari instans aplikasi. Nilai default adalah 120. Nilai valid: 0 hingga 86400. Nilai 86400 sama dengan 24 jam.
Number of Prefetching Curves: Dalam durasi pra-ambil yang dikonfigurasi, bobot lalu lintas untuk aplikasi yang dipra-ambil meningkat secara eksponensial seiring dengan nilai kurva. Dalam durasi pra-ambil tertentu, jika nilai kurva besar, bobot lalu lintas untuk aplikasi yang dipra-ambil kecil saat aplikasi diinisialisasi. Hal ini memastikan aplikasi kompleks memiliki waktu yang cukup untuk pra-ambil.
Nilai default adalah 2, yang cocok untuk skenario pra-ambil umum. Nilai ini menunjukkan bahwa lalu lintas yang diterima penyedia selama pra-ambil ditampilkan sebagai kurva kuadratik. Nilai valid: 0 hingga 20. Untuk durasi pra-ambil yang sama, nilai parameter yang lebih besar menunjukkan bahwa penyedia layanan menerima jumlah lalu lintas yang lebih kecil saat pra-ambil dimulai, dan jumlah lalu lintas yang diterima secara bertahap meningkat hingga pra-ambil selesai.
Registration Delay (Seconds): Atur parameter ini ke nilai antara 0 hingga 86400. Nilai 86400 sama dengan 24 jam.
Graceful Rolling Release: Tentukan apakah akan mengaktifkan fitur penyebaran bergulir tanpa gangguan.
Complete Service Registration before Readiness Probing: menyediakan port 55199 bagi aplikasi untuk memeriksa apakah layanan telah terdaftar. Jika ya, kode status 200 dikembalikan. Jika tidak, kode status 500 dikembalikan.
Complete Service Prefetching before Readiness Probing: menyediakan port 55199 bagi aplikasi untuk memeriksa apakah layanan telah dipra-ambil. Jika ya, kode status 200 dikembalikan. Jika tidak, kode status 500 dikembalikan.
CatatanJika Anda mengaktifkan kedua opsi Selesaikan Registrasi Layanan sebelum Pemeriksaan Kesiapan dan Selesaikan Pra-ambil Layanan sebelum Pemeriksaan Kesiapan, port 55199 disediakan untuk memeriksa apakah layanan telah dipra-ambil.
Pada langkah Advanced Settings, klik Application Life Cycle Management. Atur opsi parameter Readiness dan aktifkan sakelar untuk konfigurasi pemeriksaan kesiapan agar berlaku.

Jika Anda tidak mengonfigurasi pemeriksaan kesiapan untuk aplikasi, setelah mengaktifkan fitur penyebaran bergulir tanpa gangguan, opsi mode penyebaran bergulir tanpa gangguan tersedia untuk parameter Pilih mode. Jika Anda memilih mode penyebaran bergulir tanpa gangguan, sistem menggunakan path /health sebagai path default untuk aplikasi dan menyediakan port 55199 untuk pemeriksaan kesiapan. Anda dapat menggunakan mode penyebaran bergulir tanpa gangguan untuk mengoordinasikan siklus hidup mikroservis dan siklus hidup layanan Kubernetes untuk aplikasi Kubernetes, atau menggunakan mode lain bersama antarmuka pemeriksaan kesehatan sesuai kebutuhan bisnis Anda.
Klik Create Application.
Di halaman Creation Completed, periksa informasi di bagian Basic Information, Configurations, dan Advanced Settings, lalu klik Create Application.
Di bagian atas halaman Application Overview, klik View Details. Di halaman Change List, lihat proses perubahan aplikasi. Tunggu beberapa menit hingga aplikasi diterapkan. Setelah proses perubahan aplikasi selesai, lihat status instans di bagian Basic Information halaman Application Overview. Jika status menunjukkan bahwa Pod sedang berjalan, aplikasi telah diterapkan.
Konfigurasi tata kelola mikroservis saat memperbarui aplikasi
Jika Anda tidak mengaktifkan fitur registrasi dan penemuan layanan, perlindungan daftar kosong, dan mulai mulus saat membuat aplikasi, Anda dapat mengaktifkannya saat menyebarkan aplikasi.
Masuk ke Konsol EDAS.
Di panel navigasi sebelah kiri, klik . Di bilah navigasi atas, pilih wilayah. Di bagian atas halaman, pilih namespace. Pilih Container Service or Serverless Kubernetes Cluster dari daftar drop-down Cluster Type. Lalu, temukan aplikasi yang ingin Anda sebar dan klik nama aplikasi tersebut.
Di halaman Overview atau Basic information, pilih di pojok kanan atas.
Di halaman Select Deployment Mode, pilih mode penyebaran dan klik Start Deployment di pojok kanan atas bagian mode penyebaran yang ditentukan.
Atur lingkungan runtime dan paket penyebaran untuk aplikasi, lalu klik Configuration Management. Setelah konfigurasi selesai, klik OK.
Buka Microservices Governance dan konfigurasikan fitur registrasi dan penemuan layanan, perlindungan daftar kosong, serta mulai mulus sesuai kebutuhan bisnis Anda.
Parameter
Deskripsi
Service Registration and Discovery
Metode O&M untuk registri layanan Anda. Anda dapat memilih registri layanan bersama EDAS atau registri layanan yang dikonfigurasi untuk aplikasi. Untuk informasi selengkapnya, lihat Pilih metode O&M untuk registri layanan Anda.
Empty List Protection
Menentukan apakah akan mengaktifkan fitur perlindungan daftar kosong.
Jika Anda mengaktifkan perlindungan daftar kosong, langganan terhadap daftar instans kosong oleh konsumen akan diabaikan. Hal ini memastikan ketersediaan layanan yang tinggi.
Jika Anda menonaktifkan perlindungan daftar kosong, bisnis Anda akan terganggu dan kesalahan dikembalikan ketika konsumen berlangganan daftar instans kosong.
Graceful Release
Menentukan apakah akan mengaktifkan fitur mulai mulus. Untuk mengaktifkan fitur ini, atur parameter berikut:
Prefetching Duration (Seconds): periode waktu yang diperlukan untuk pra-ambil layanan pada startup berikutnya dari instans aplikasi. Nilai default adalah 120. Nilai valid: 0 hingga 86400. Nilai 86400 sama dengan 24 jam.
Number of Prefetching Curves: Dalam durasi pra-ambil yang dikonfigurasi, bobot lalu lintas untuk aplikasi yang dipra-ambil meningkat secara eksponensial seiring dengan nilai kurva. Dalam durasi pra-ambil tertentu, jika nilai kurva besar, bobot lalu lintas untuk aplikasi yang dipra-ambil kecil saat aplikasi diinisialisasi. Hal ini memastikan aplikasi kompleks memiliki waktu yang cukup untuk pra-ambil.
Nilai default adalah 2, yang cocok untuk skenario pra-ambil umum. Nilai ini menunjukkan bahwa lalu lintas yang diterima penyedia selama pra-ambil ditampilkan sebagai kurva kuadratik. Nilai valid: 0 hingga 20. Untuk durasi pra-ambil yang sama, nilai parameter yang lebih besar menunjukkan bahwa penyedia layanan menerima jumlah lalu lintas yang lebih kecil saat pra-ambil dimulai, dan jumlah lalu lintas yang diterima secara bertahap meningkat hingga pra-ambil selesai.
Registration Delay (Seconds): Atur parameter ini ke nilai antara 0 hingga 86400. Nilai 86400 sama dengan 24 jam.
Graceful Rolling Release: Tentukan apakah akan mengaktifkan fitur penyebaran bergulir tanpa gangguan.
Complete Service Registration before Readiness Probing: menyediakan port 55199 bagi aplikasi untuk memeriksa apakah layanan telah terdaftar. Jika ya, kode status 200 dikembalikan. Jika tidak, kode status 500 dikembalikan.
Complete Service Prefetching before Readiness Probing: menyediakan port 55199 bagi aplikasi untuk memeriksa apakah layanan telah dipra-ambil. Jika ya, kode status 200 dikembalikan. Jika tidak, kode status 500 dikembalikan.
CatatanJika Anda mengaktifkan kedua opsi Selesaikan Registrasi Layanan sebelum Pemeriksaan Kesiapan dan Selesaikan Pra-ambil Layanan sebelum Pemeriksaan Kesiapan, port 55199 disediakan untuk memeriksa apakah layanan telah dipra-ambil.
Buka Throttling and Degradation Configuration dan aktifkan Access AHAS.
PentingAplikasi akan dimulai ulang setelah Anda mengklik OK. Kami menyarankan Anda mengonfigurasi fitur-fitur ini selama jam-jam non-sibuk.
Verifikasi hasil
Di panel navigasi sebelah kiri halaman detail aplikasi, klik Change List untuk melihat detail perubahan aplikasi. Jika eksekusi perubahan saat ini berhasil, aplikasi telah diterapkan dan konfigurasi berlaku.