Latar belakang perlindungan diri
Pertama -tama, kita perlu memahami tentang pusat pendaftaran Eureka bahwa semua node di Eureka adalah sama, dan tidak ada konsep peran dalam ZK. Bahkan jika node N-1 hilang, itu tidak akan mempengaruhi operasi normal node lain.
Secara default, jika Eureka Server tidak menerima detak jantung dari instance Microservice dalam waktu tertentu (default 90 detik), Eureka Server akan menghapus instance. Namun, ketika kegagalan partisi jaringan terjadi, layanan mikro tidak dapat berkomunikasi secara normal dengan server Eureka, dan layanan mikro itu sendiri berjalan secara normal. Layanan mikro ini tidak boleh dihilangkan pada saat ini, sehingga mekanisme perlindungan diri diperkenalkan.
Mekanisme perlindungan diri
Definisi resmi mekanisme perlindungan diri: https://github.com/netflix/eureka/wiki/understanding-eureka-peer-to-peer-communication
Mode perlindungan diri adalah tindakan perlindungan keamanan untuk fluktuasi jaringan yang abnormal. Menggunakan mode perlindungan diri dapat membuat cluster eureka berjalan lebih kuat dan stabil.
Mekanisme kerja mekanisme perlindungan diri adalah bahwa jika lebih dari 85% dari node klien tidak memiliki detak jantung normal dalam waktu 15 menit, maka Eureka percaya bahwa klien dan pusat pendaftaran memiliki kegagalan jaringan, dan server Eureka secara otomatis memasuki mekanisme perlindungan diri. Pada saat ini, situasi berikut akan terjadi:
1. Eureka Server tidak lagi menghapus layanan yang seharusnya kedaluwarsa karena mereka belum menerima detak jantung untuk waktu yang lama. /
2. Eureka Server masih dapat menerima permintaan pendaftaran dan permintaan untuk layanan baru, tetapi tidak akan disinkronkan ke node lain untuk memastikan bahwa node saat ini masih tersedia. /
3. Ketika jaringan stabil, informasi pendaftaran baru dari server Eureka akan disinkronkan ke node lain.
Oleh karena itu, server Eureka dapat menangani situasi di mana beberapa node hilang karena kegagalan jaringan, dan tidak akan menyebabkan setengahnya menjadi lumpuh seperti ZK.
Sakelar perlindungan diri
Mekanisme perlindungan diri Eureka, benar untuk mengaktifkan/false dengan mengonfigurasi eureka.server.enable-self-preservasi untuk menonaktifkan mekanisme perlindungan diri. Default dihidupkan. Disarankan untuk membuka konfigurasi ini di lingkungan produksi.
Konfigurasi Lingkungan Pengembangan
Jika Anda ingin secara otomatis menghapus kegagalan layanan di lingkungan pengembangan, Anda hanya perlu memodifikasi konfigurasi berikut.
1. Pusat pendaftaran menutup mekanisme perlindungan diri dan memodifikasi waktu untuk memeriksa layanan yang tidak valid.
Eureka: Server: Enable-self-reservasi: false penggusuran-interval-waktu-ms: 3000
2. Modifikasi layanan mikro mengurangi waktu detak jantung layanan.
# Default 90 detik sewa-ekspirasi-durasi-di-detik: 10# default 30 detik sewa-pembaruan-interval-di-detik: 3
Konfigurasi di atas disarankan untuk menggunakan konfigurasi waktu default di lingkungan produksi. Saya berharap ini akan membantu untuk pembelajaran semua orang, dan saya harap semua orang akan lebih mendukung wulin.com.