#transactions #scaling #finance #distributed-transactions #consistency
Вопрос:
Я работаю над сервисом, который отвечает за денежные транзакции. Я придумал решение для одной базы данных (чтобы внести все изменения в одну транзакцию в базе данных), но оно не отвечает моим требованиям. Я хочу, чтобы он был горизонтально масштабируемым и последовательным одновременно.
Служба должна иметь следующие функции:
- получить текущий баланс
- получение транзакций пользователей
- обрабатывайте новые транзакции (переводите деньги со счета A на счет B) и возвращайте подтверждение
Последний из них труднее всего реализовать из-за множества точек сбоя. Транзакции должны быть обработаны только один раз, и необходимо гарантировать, что в случае сбоя одной из транзакций изменений эта транзакция должна быть откатана.
Я прошу каких-либо подсказок о технологиях/фреймворках/алгоритмах, на которые я должен взглянуть.