Распределённые транзакции
На собеседованиях на позицию middle/senior разработчика часто задают вопросы по распределенным транзакциям в микросервисной архитектуре.
Мой коллега однажды посоветовал отличную статью со сравнением основных паттернов для решения проблем распределённых транзакций.
Я проработал статью и подготовил конспект простыми словами, местами дополнил информацией из других источников и полезными ссылками.
Перед тем как начать, делюсь ссылкой на мой блог в телеграм, где я раньше всего публикую материалы по java разработке и личной эффективности.
Оглавление
1.Проблема двойной записи
2.Модульный монолит
3. Двухфазный коммит
4. Оркестрация SAGA
5. Хореография SAGA
- Хореография с двойной записью
- Хореография без двойной записи
- Хореография с Debezium
- Хореография с event sourcing
6. Parallel pipelines
- Listen to yourself
7. Общие выводы по всем паттернам
В статье рассматриваются общие подходы к решению проблемы двойной записи, когда два микросервиса должны гарантировано, атомарно записать информацию в бд.
Каждый из рассмотренных вариантов имеет свои достоинства и недостатки, и может быть применен в промышленной разработке.
Далее: https://habr.com/ru/articles/769102/
#transaction #java #habr
