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

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

Alexander Melnichuk il y a 5 ans mis à jour par anonymous il y a 5 ans 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

Solution

+1
Solution
Запланировано

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

+1
Solution
Запланировано

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

+2

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

+1

Хороший поинт, спасибо.