Бази даних · Senior · Запитання 66 з 75
Оформлення замовлення проходить через сервіси замовлень, платежів і доставки, кожен із власною базою. Як тримати їх узгодженими без розподілених транзакцій?
- 1Двофазний commit між усіма базами для кожного замовлення
- ✓Правильна відповідь: Сага: послідовність локальних транзакцій, що координуються подіями чи оркестратором, з компенсаційними діями, коли крок не вдається
- 3Помістити всі три сервіси в одну таблицю
Пояснення
Двофазний commit зв'язує сервіси й блокується, коли падає координатор. Саги приймають тимчасову неузгодженість і потребують ідемпотентних кроків, які можна повторити.