Рейтинг@Mail.ru
Конференция завершена. Ждём вас на HighLoad++ в Москве. Приём докладов уже начался!

Целостность данных в микросервисной архитектуре - как ее обеспечить без распределенных транзакций и жесткой связностиБазы данных и системы хранения

Доклад принят в программу конференции
Николай Голов
Avito

Руководитель Data Platform в Avito. В область ответственности Data Platform входят системы больших данных (сотни Тб), OLTP-базы (PostgreSQL), NoSQL-базы (MongoDB, Redis, Tarantool, VoltDB), а также системы очередей и потоковой обработки данных (RabbitMQ, NSQ, Spark). Все про данные, их движение и обработку. Построил в Avito хранилище на HP Vertica и продолжает его развивать, сейчас там более 100 Тб данных. До этого строил хранилища в ВТБ Факторинг, Ланит, НСС (на Терадате) и участвовал в ряде более мелких проектов.
Помимо работы в Avito, Николай преподает в НИУ ВШЭ и занимается научными исследованиями в области современных методологий построения хранилищ данных, таких как Data Vault и Anchor Modeling, а также в области технологий BlockChain.

Тезисы

На дворе 2018 - все любят микросервисы и пилить монолиты.

При этом у монолита с единой базой есть плюс - целостность и согласованность данных о, например, списании денег за услугу и применении услуги можно гарантировать обычной транзакцией на уровне СУБД (PostgreSQL, Oracle и т.п.).

А что будем делать, если деньги в одном сервисе, а услуги - в другом, и у каждого сервиса своя изолированная база? И подобных бизнес-кейсов все больше и больше. Сколько-нибудь опытный человек сразу отбросит попытку сделать распределенные транзакции. Что же делать?

Разумеется, у идеологов микросервисной архитектуры (Крис Ричардсон и т.п.) есть ответ. И не один. Давайте я расскажу об этих ответах, их плюсах, минусах и рисках, насколько мы в Авито смогли разобраться.

Базы данных / другое
,
Микросервисы, SOA
,
Асинхронное программирование, реактивное программирование
,
Архитектурные паттерны
,
Распределенные системы
,
Архитектура данных, потоки данных, версионирование

Другие доклады секции Базы данных и системы хранения

Rambler's Top100