Менеджер транзакций в GoLang

Резерв

Бэкенд / другое
Организация доступа к базам данных, ORM, собственные драйвера
GO
Теория

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

Мнение Программного комитета о докладе

Часто в Go приходится носить технические атрибуты в бизнес-логику. Одним из таких атрибутов является TX для базы данных. Данный доклад представит OpenSource-фреймворк, который позволит перестать его носить.

Целевая аудитория

Go-разработчики, работающие с вложенными сценариями и несколькими моделями в одной СУБД-транзакции.

Тезисы

Я объясню, как обычно устроен менеджер транзакций и почему его нельзя скопировать "в лоб" в Go из других языков.

Покажу, как сохранить транзакционность при работе с вложенными сценариями и несколькими репозиториями, не привязываясь к конкретной СУБД и не передавая транзакции как аргумент.

Расскажу, как в реалиях GoLang реализовать "идеальный" паттерн-репозиторий из книжек посредством менеджера транзакций.

https://github.com/avito-tech/go-transaction-manager/

Backend-сочинитель продуктовых решений для передачи вашего смартфона в хорошие руки.

Авито

На Авито каждый может найти что-то свое среди миллионов частных объявлений и предложений компаний. У них десятки тысяч RPS к бэкенду, терабайты картинок в хранилище и мощная система автоматизированной модерации на базе машинного обучения. Каждый месяц сервисом пользуется треть населения России.

Видео