Хореография против оркестровки: проектирование распределенных рабочих процессов в микросервисах
В монолитной архитектуре выполнение сложной бизнес-транзакции, например выполнения заказа электронной коммерции, является простым. Все данные хранятся в одной реляционной базе данных, что позволяет разработчикам объединить несколько операций записи в базу данных по запасам, платежам и доставке в рамках одной транзакции ACID. Если в какой-либо момент возникает ошибка, SQL ROLLBACK мгновенно восстанавливает согласованность системы.
Однако современные облачные системы используют архитектуру микросервисов, в которой каждая служба владеет своими данными и предоставляет отдельные границы API. В этой распределенной парадигме одна сквозная бизнес-операция охватывает множество независимых микросервисов и механизмов баз данных.
Микросервисы
Хореография
оркестровка
Проектирование системы
Распределенные системы
Сага Узор
Событийно-ориентированная архитектура
Архитектура программного обеспечения