Паттерн Outbox - теория и практика | Архитектура Микросервисов

Transactional Outbox - паттерн, который обеспечивает атомарность двух операций - сохранения измений в БД и отправки сообщения об этих изменениях в другой сервис. В этом видео мы подробно разберемся, почему решаемая им проблема важна, как он устроен, а затем реализуем его самостоятельно на языке Go Хорошая статья моего бывшего коллеги Миши Боровикова на эту же тему, если хотите глубже вникнуть в тему:
Здесь подробно разобран пример использования паттерна в компании Lamoda. Код из ролика я закоммитил в отдельную ветку проекта URL Shortener, т.к. в основной ветке мне этот функционал пока не нужен. Ссылка на соответствующую ветку:
---- 👾
- мой канал в Telegram. Пишу в нём много интересного: гайды, которых нет на YouTube, интересные мысли про разработку, новости и анонсы всех моих активностей и др. 👀 GoLang Digest:
- мои регулярные подборки интересных материалов по Go. 🗣️ Наше сообщество GopherClub:
Лучшее русскоязычное Go-сообщество с очень приятной атмосферой, без токсиков. Вежливо и терпеливо помогаем новичкам, конструктивно дискутируем с профессионалами и т.п. Здесь также присутствуют все звезды Go-сообщества и представители интересных компаний. ❤️ Если у вас есть желание поддержать развитие канала: Секретный телеграм-канал: - В рублях:
- В евро:
Boosty:
Patreon:   / tuzov   ---- 00:00 Какую проблему мы решаем 05:47 Нам нужна атомарность 07:03 Про Two-Phase Commit 07:36 NoSQL базы данных 09:59 Гарантия доставки - "At Least Once" 11:48 Практика: пишем Outbox для сокращателя ссылок 12:43 Storage: сохраняем сообщения в таблицу 28:01 Event Sender: отправка сообщений из таблицы 36:52 Подключаем Event Sender 39:09 Тестируем отправку сообщений 41:12 Итоги 42:07 Мой Телеграм-канал: почему он важен 43:05 Заключение #golang #ntuzov

Смотрите также