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

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

Alexander Melnichuk 5 років тому оновлено anonymous 5 років тому 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
Відповідь
Заплановано

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

+2

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