ACID - это аббревиатура, описывающая ключевые свойства транзакции БД.
Принцип, при котором вносится изменение в двух микросервисах в рамках одной транзакции. При этом появляется новый участник - координатор, который уточняет у микросервисов, готовы ли они вносить изменения. Если да, то необходимая строка в таблице блокируется. Транзакция начинается при условии, что все микросервисы заблокировали необходимую строку и выслали координатору оповещение о готовности.
Появляется возможность вносить изменения в нескольких микросервисах, атомарность не ломается.
Теряется изоляция, т.к. базы различных микросервисов зависят от готовности друг друга.
Разбиение распределенной транзакции на несколько последовательных транзакций, обращенных к разным микросервисам. Существует 2 вида реализации саг:
Меньше свяязанности, хорошая изоляция