Комикс: Что такое сервисный автоматический выключатель?

программист Spring открытый источник


















Стратегия ответов Сяо Хуэя состоит в том, чтобы продолжать думать и думать о проблемах до конца экзамена. Его можно представить следующей блок-схемой:




Стратегия ответов Ревеня состоит в том, чтобы попытаться подумать несколько раз, прежде чем столкнуться с проблемой.Если попытка несколько раз не увенчалась успехом, он решительно сдастся и продолжит отвечать на другие вопросы. Когда на другие вопросы будут даны ответы, вернитесь и переосмыслите проблему. Его можно представить следующей блок-схемой:







Что такое сервисный выключатель?


Концепция предохранителя пришла из электронной техники.выключатель(автоматический выключатель). В интернет-системе, когда нисходящая служба отвечает медленно или дает сбой из-за чрезмерного давления доступа, вышестоящая служба может временно отключить вызов нисходящей службы, чтобы защитить общую доступность системы.


Эта мера жертвования частью ради сохранения целого называетсяпредохранитель.


Что произойдет с нашей системой, если автоматические выключатели не будут сняты? Давайте посмотрим на каштан.


В текущей системе есть три сервиса A, B и C. Сервис A восходящий, сервис B средний и сервис C нижестоящий. Их цепочка вызовов выглядит следующим образом:




Как только нижестоящая служба C становится по какой-то причине недоступной, возникает отставание по запросам, и поток запросов службы B также блокируется. Ресурсы потока постепенно истощаются, что делает сервис B также недоступным. Сразу после этого стала недоступна и услуга А, и вся цепочка звонков была протащена.




Каскадный сбой ссылки вызова, подобный этому, называетсялавина.



Поскольку так называемое соскабливание кости лечит яд, сильный мужчина ломает себе запястье. В настоящее время наш механизм автоматического выключателя необходим для спасения всей системы. Общий процесс механизма автоматического выключателя такой же, как и в только что упомянутой стратегии экзамена:





Здесь необходимо пояснить два момента:


1. Включите предохранитель

В пределах фиксированного временного окна, когда коэффициент тайм-аута вызова интерфейса достигает порогового значения, автоматический выключатель будет включен. После перехода в состояние предохранителя последующие обращения к сервисному интерфейсу больше не проходят через сеть, а локальный метод по умолчанию выполняется напрямую для достиженияпонижение уровня обслуживанияЭффект.


2. Восстановление слияния

Предохранитель не может быть постоянным. По истечении указанного времени служба ответит из состояния предохранителя и снова примет удаленный вызов вызывающего абонента.







Практическое применение сервисного предохранителя



Spring Cloud Hystrix основан на реализации инфраструктуры Hystrix с открытым исходным кодом от Netflix, которая реализуетСервисный предохранитель,изоляция резьбыИ ряд сервисных функций защиты.


Для реализации механизма автоматического выключателя компания Hystrix разработала три состояния:


1. Предохранитель закрыт (Closed)

Когда служба исправна, состояние прерывателя цепи не накладывает никаких ограничений на вызов вызывающей стороны.


2. Открытое состояние фьюзинга (Open)

В течение фиксированного временного окна (по умолчанию Hystrix составляет 10 секунд), если частота ошибок вызовов интерфейса достигает порогового значения (по умолчанию Hystrix составляет 50%), он переходит в состояние включения предохранителя. После перехода в состояние предохранителя последующие обращения к сервисному интерфейсу уже не идут через сеть, а напрямую выполняют локальныйрезервный метод.


3. Полуоткрытый

Через некоторое время (по умолчанию Hystrix составляет 5 секунд) предохранитель перейдет в полусгоревшее состояние. Так называемый полупредохранитель пытается восстановить вызов службы, разрешить ограниченный трафик для вызова службы и отслеживать вероятность успешного вызова. Если показатель успеха достигает ожидаемого, это означает, что служба была восстановлена ​​и переходит в состояние отключения предохранителя; если показатель успеха все еще очень низок, он снова входит в состояние отключения предохранителя.



Отношения преобразования трех состояний следующие:









----КОНЕЦ----



Друзья, которым понравилась эта статья, нажмите и удерживайте изображение, чтобы следить за номером подписки.программист маленький серый, смотрите больше захватывающего контента