Технологии повышения надежности и отказоустойчивости межсервисного взаимодействия
Изучить, опробовать, внедрить технологии и библиотеки повышения надежности и отказоустойчивости межсервисного взаимодействия:
- Circuit Breaker
- Retry
- и пр.
library:
Resilience4j - https://resilience4j.readme.io/docs/getting-started
Паттерны проектирования для межсервисной интеграции.
Межсервисная интеграция, в условиях задержек, сбоях в сети, недоступности сервиса, создает ряд проблем для приложения. Для их решения существует ряд паттернов: Circuit Breaker, Retry, Bulkhead, RateLimiter, ...
На примере Circuit Breaker (автоматический выключатель): автоматический выключатель останавливает вызов удаленного сервиса, если мы знаем, что вызов этого сервиса либо завершится сбоем, либо истечет время ожидания. Автоматический выключатель принимает решение об остановке вызова на основе предыдущей истории вызовов. Автоматический выключатель сработает и не допустит следующего вызова, пока удаленное обслуживание не исправит ошибку.
Рекомендую следующую реализацию паттернов - Resilience4j https://resilience4j.readme.io/docs
Подробнее о Circuit Breaker в статье: https://habr.com/ru/post/544074/ Как использовать шаблон Circuit Breaker в приложении Spring Boot