Переход от монолитного приложения к микросервисной архитектуре часто вынуждает разделять данные по отдельным хранилищам, чтобы уменьшить связность в системе и увеличить её отказоустойчивость. В процессе может оказаться, что часть данных должна быть доступна из разных компонентов системы. Есть много подходов к решению этой проблемы, но чаще всего приходится искать компромисс между консистентностью данных и производительностью системы в целом.
Как команде инженеров удалось разъехаться по разным базам данных и при этом сохранить работоспособность системы, рассказал Андрей Каледин, разработчик программ лояльности в Тинькофф.