Фон самозащиты
Прежде всего, нам нужно понять о регистрационном центре Eureka, что все узлы в Eureka равны, и нет концепции ролей в ZK. Даже если узлы N-1 потеряны, это не повлияет на нормальную работу других узлов.
По умолчанию, если Eureka Server не получает сердцебиение от экземпляра микросервиса в течение определенного времени (по умолчанию 90 секунд), сервер Eureka удалит экземпляр. Однако, когда происходит сбой сетевого разделения, микросервис не может нормально общаться с сервером Eureka, а сам микросервис работает нормально. Этот микросервис не должен быть удален в это время, поэтому вводится механизм самозащиты.
Механизм самозащиты
Официальное определение механизма самозащиты: https://github.com/netflix/eureka/wiki/understanding-eureka-peer-to-peer-communication
Режим самозащиты-это мера защиты безопасности для аномальных колебаний сети. Использование режима самозащиты может сделать кластер Eureka более надежным и стабильным.
Рабочий механизм механизма самозащиты состоит в том, что если более 85% клиентских узлов не имеют нормального сердцебиения в течение 15 минут, то Эврика считает, что клиент и центр регистрации имеют сбой сети, а сервер Эврика автоматически входит в механизм самореагирования. В настоящее время произойдут следующие ситуации:
1. Eureka Server больше не удаляет услуги, которые должны истекать, потому что они не получали сердцебиение в течение длительного времени. /
2. Eureka Server все еще может принимать запросы на регистрацию и запросы на новые услуги, но не будет синхронизироваться с другими узлами, чтобы гарантировать, что текущий узел все еще доступен. /
3. Когда сеть стабильна, новая регистрационная информация сервера Eureka будет синхронизироваться с другими узлами.
Следовательно, сервер Eureka может иметь дело с ситуацией, когда некоторые узлы теряются из -за сбоя сети, и не приведет к тому, что половина из них будет парализована, как ZK.
Самозащитный переключатель
Механизм самозащиты Eureka, верный для включения/false путем настройки eureka.server.enable-self сохранить, чтобы отключить механизм самозащиты. По умолчанию включено. Рекомендуется открыть эту конфигурацию в производственной среде.
Конфигурация среды разработки
Если вы хотите автоматически удалить сбой обслуживания в среде разработки, вам нужно только изменить следующую конфигурацию.
1. Регистрационный центр закрывает механизм самозащиты и изменяет время для проверки недействительной службы.
Eureka: Сервер: Включение SEEFT-HERSERATION: False Eviction-Interval-Timer-In-MS: 3000
2. Модификации микросервиса уменьшают время обслуживания сердца.
# По умолчанию 90 секунд с арендованной продолжительностью в секунде: 10# по умолчанию 30 секунд аренды-обновления в секунде: 3
Приведенная выше конфигурация рекомендуется использовать конфигурацию времени по умолчанию в производственной среде. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать wulin.com больше.