Try-Confirm-Cancel в распределенных системах
Try-Confirm-Cancel как модель управления согласованностью в микросервисах: резервирование ресурсов, идемпотентность, отказоустойчивость и архитектурные trade-offs....
Try-Confirm-Cancel как модель управления согласованностью в микросервисах: резервирование ресурсов, идемпотентность, отказоустойчивость и архитектурные trade-offs....
Как работают распределённые транзакции в микросервисах: Saga, компенсации вместо rollback, конечная согласованность и архитектурные компромиссы....
Распределённые транзакции через 2PC и XA: как обеспечить атомарность в микросервисах. Риски in-doubt транзакций, блокировки и специфика работы с PostgreSQL....
Transactional Outbox — паттерн для надёжной доставки событий в микросервисах. Как избежать dual write, потерь сообщений и дубликатов, обеспечить at-least-once и идемпотентность....
Circuit Breaker предотвращает попытки приложения выполнить операцию, которая скорее всего завершится неудачно, что позволяет продолжить работу дальше не тратя важные ресурсы, пока известно, что проблема не устранена....
Любое взаимодействие программных компонентов ненадежно. Вызываемый компонент может быть временно недоступен или возвращать различные ошибки....
Чем раньше будет обнаружена проблема, тем меньше усилий потребуется для ее разрешения...
Шардинг и репликация...
Контейнеры — основной строительный элемент паттернов, но в конечном итоге именно группа контейнеров, локализованная на одной машине, представляет собой базовый элемент паттернов проектирования распределенных систем....
Брендан Бёрнс излагает в своей книге абсолютный минимум, необходимый для правильного проектирования распределенных систем....