0
Запланировано

Добавить шаблон проектирования Cirquit Breaker

Alexander Melnichuk 1 год назад обновлен anonymous 1 год назад 3

В работе столкнулся с проблемой, которая решается этим шаблоном: если мы часто-часто обращаемся к удалённому сервису, а он внезапно отказывает, и мы в принципе можем продолжать работу и без него, то нужно сократить поток запросов к этому сервису до одного за несколько минут, пока сервис не станет доступен снова. Если этого не сделать, то каждое действие, которое раньше пролетало мгновенно, теперь будет занимать десятки секунд (время таймаута подключения к отказавшему удалённому сервису).
Подробное описание есть, например, тут:
https://smarly.net/dependency-injection-in-net/diy-di/interception/implementing-cross-cutting-concerns
http://blog.rogatnev.net/2016/05/retry-vs-circuit-breaker.html

New pattern

Ответ

+1
Ответ
Запланировано

Спасибо, добавил в планы.

+1
Ответ
Запланировано

Спасибо, добавил в планы.

+1

Кстати, пока русскоязычная терминология не устоялась, можно попробовать использовать слово "предохранитель"  как вариант перевода "circuit breaker". 
Буквальный перевод "размыкатель цепи" не очень ассоциируется с выключателем-автоматом, по которому назван шаблон.

Сервис поддержки клиентов работает на платформе UserEcho