All Products
Search
Document Center

:Konfigurasi shutdown yang mulus

Last Updated:Mar 19, 2026

Saat memperbarui aplikasi online, Anda harus memastikan kelangsungan bisnis selama periode aplikasi dihentikan dan dimulai ulang. Untuk menyebarkan, menghentikan, melakukan rollback, menurunkan skala, atau mengatur ulang aplikasi, konfigurasikan fitur shutdown yang mulus guna memastikan aplikasi dimatikan tanpa mengganggu bisnis. Topik ini menjelaskan catatan penting, manfaat penggunaan shutdown yang mulus, serta cara menggunakannya di Konsol Microservices Engine (MSE).

Prasyarat

Catatan Penggunaan

Jika aplikasi Anda hanya perlu mengakses MSE, fitur shutdown yang mulus akan diaktifkan secara otomatis. Hal ini memastikan bahwa aplikasi hulu dapat memanggil aplikasi tanpa gangguan layanan saat aplikasi dimatikan. Anda tidak perlu mengonfigurasi pengaturan tambahan di konsol MSE. Selain itu, fitur mulai mulus dan shutdown yang mulus dari MSE menyediakan observabilitas yang membantu Anda menentukan apakah suatu aplikasi dimatikan secara mulus.

Tata Kelola Layanan Mikro yang disediakan oleh MSE tidak mendukung shutdown yang mulus untuk aplikasi berikut:

  • Aplikasi non-WebFlux atau aplikasi non-Spring MVC.

  • Aplikasi penyedia hilir yang aplikasi konsumennya bukan merupakan aplikasi layanan mikro.

  • Aplikasi non-Java.

  • Aplikasi konsumen dan aplikasi penyedia yang belum diaktifkan Tata Kelola Layanan Mikro.

Catatan

Anda harus mengatur parameter terminationGracePeriodSeconds ke nilai lebih besar dari 30 di Konsol ACK. Kami merekomendasikan agar Anda mengatur parameter ini ke 90.

Informasi Latar Belakang

Permintaan layanan dari aplikasi konsumen pasti terpengaruh selama periode aplikasi penyedia dihentikan dan dimulai ulang. Solusi paling aman dan andal adalah memperbarui aplikasi saat tidak ada permintaan layanan. Namun, permintaan layanan tetap ada bahkan ketika aplikasi dimatikan.

Solusi tradisional adalah menghapus trafik secara manual, menghentikan aplikasi, memperbarui aplikasi, lalu memulai ulang aplikasi. Jika menggunakan solusi ini untuk memperbarui aplikasi, kelangsungan bisnis tidak terpengaruh.

Shutdown yang mulus adalah mekanisme otomatis pada tingkat kontainer atau kerangka kerja yang digunakan untuk secara otomatis menghapus trafik dan memproses permintaan yang diterima sebelum memperbarui aplikasi. Mekanisme ini membuat proses pembaruan tidak terasa oleh bisnis dan sangat meningkatkan efisiensi O&M selama pembaruan aplikasi.

Manfaat

  • Jika menggunakan solusi shutdown yang mulus dari Spring Cloud open source, aplikasi dapat dimatikan secara mulus dengan shutdown hook, Spring Boot Actuator, atau Ribbon. Solusi ini memerlukan upaya pengembangan tambahan dan dapat menyebabkan kehilangan trafik ke beberapa registry dalam periode waktu singkat.

  • Jika menggunakan solusi shutdown yang mulus dari Dubbo open source, Anda dapat memanfaatkan shutdown hooks dan QoS untuk mematikan aplikasi secara mulus. Hal ini tidak hanya memerlukan upaya pengembangan tambahan tetapi juga memiliki persyaratan versi untuk aplikasi Dubbo. Selain itu, masalah yang diketahui masih tersedia sehingga penggunaan aplikasi terpengaruh secara negatif.

Tata Kelola Layanan Mikro MSE mengintegrasikan fitur shutdown yang mulus ke dalam proses rilis aplikasi. Dengan demikian, aplikasi dimatikan secara mulus saat Anda menghentikan, menyebarkan, melakukan rollback, menurunkan skala, atau mengatur ulang aplikasi.

  • Dibandingkan dengan solusi shutdown yang mulus dari Spring Cloud open source, fitur shutdown yang mulus dari Tata Kelola Layanan Mikro MSE memiliki keunggulan berikut.

    Item

    Spring Cloud Open Source

    Tata Kelola Layanan Mikro MSE

    Versi

    Saat memanggil ServiceRegistryEndpoint, Anda harus menggunakan Spring Boot Actuator dan memperbaruinya ke versi yang kompatibel dengan versi Spring Cloud.

    Tata Kelola Layanan Mikro MSE mendukung Spring Cloud Dalston atau versi yang lebih baru. Tidak diperlukan modifikasi apa pun.

    Registry layanan dan kehilangan trafik

    Spring Cloud open source bergantung pada registry yang dapat menyebabkan kehilangan trafik.

    • Jika menggunakan registry ZooKeeper, tidak terjadi kehilangan trafik.

    • Jika menggunakan registry Eureka, kehilangan trafik terjadi hingga 3 detik.

    • Jika menggunakan registry Nacos, kehilangan trafik dapat terjadi hingga 10 detik karena cache pada klien.

    Tata Kelola Layanan Mikro MSE tidak bergantung pada registry. Tidak terjadi kehilangan trafik.

    Skenario

    Untuk mematikan aplikasi yang diterapkan pada Instance Elastic Compute Service (ECS), Anda harus melihat detail perubahan aplikasi di Konsol MSE. Untuk aplikasi yang diterapkan di kluster Kubernetes, Anda dapat menggunakan antarmuka preStop, tetapi hanya dapat mengonfigurasi satu aksi untuk antarmuka tersebut.

    Anda dapat mematikan aplikasi secara mulus baik yang diterapkan pada Instance ECS maupun di kluster Kubernetes tanpa memengaruhi operasi dan konfigurasi aplikasi.

    Cache pada klien

    Anda harus mengonfigurasi rentang waktu yang sesuai bagi Ribbon untuk menyegarkan cache pada klien. Jika rentang waktu terlalu lama, kehilangan trafik terjadi saat mematikan aplikasi; jika terlalu singkat, kinerja layanan terpengaruh.

    Tata Kelola Layanan Mikro MSE menyediakan mekanisme yang ditingkatkan bagi Ribbon untuk menyegarkan cache selama pemadaman aplikasi, memungkinkan penyegaran cache secara otomatis melalui metode tanggapan reaktif.

  • Dibandingkan dengan solusi shutdown yang mulus dari Dubbo open source, fitur shutdown yang mulus dari Tata Kelola Layanan Mikro MSE memiliki keunggulan berikut.

    Catatan

    Sebelum mengonfigurasi fitur shutdown yang mulus dari Tata Kelola Layanan Mikro MSE untuk aplikasi Anda, pastikan Tata Kelola Layanan Mikro MSE telah diaktifkan baik untuk aplikasi konsumen maupun aplikasi penyedia.

    Item

    Dubbo sumber terbuka

    Tata Kelola Layanan Mikro MSE

    Perbaikan masalah konkurensi yang terjadi karena metode unexport registry tidak menggunakan variabel atomik

    Tidak didukung pada versi 2.5.3 atau lebih lama

    Didukung

    Notifikasi balik

    Tidak didukung pada versi 2.5.3 atau lebih lama

    Didukung

    Menunggu permintaan dalam perjalanan dari klien

    Tidak didukung pada versi 2.5.3 atau lebih lama

    Didukung

    qos offline

    Didukung pada versi 2.5.8 hingga 2.6.2 dan versi yang lebih baru

    Didukung

    Pemicu shutdown hook Dubbo dan Spring Cloud

    Didukung pada Apache Dubbo 2.7.3 dan versi yang lebih baru

    Didukung

    Event Penonaktifan

    Didukung pada Apache Dubbo 2.7.3 dan versi yang lebih baru

    Didukung

    Penundaan server

    Tidak didukung

    Didukung

    Pengiriman event ReadOnly lebih awal

    Tidak didukung

    Didukung

Aktifkan notifikasi proaktif shutdown yang mulus

  1. Masuk ke Konsol MSE, lalu pilih wilayah di bilah navigasi atas.

  2. Di panel navigasi kiri, pilih Microservices Governance > Application Governance. Pada halaman yang muncul, klik kartu sumber daya aplikasi yang ingin Anda kelola.

  3. Pada halaman detail aplikasi, klik Traffic management di panel navigasi kiri, lalu klik tab Graceful Start/Shutdown.

  4. Di bagian Graceful Shutdown, aktifkan sakelar Proactive Notification. Pada pesan Prompt message, klik OK.

    Setelah fitur notifikasi proaktif diaktifkan, notifikasi akan dikirim ke aplikasi konsumen saat aplikasi penyedia dimatikan, sehingga aplikasi konsumen tidak lagi memanggil aplikasi penyedia.

Referensi