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

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

Transactional Outbox - паттерн, который обеспечивает атомарность двух операций - сохранения измений в БД и отправки сообщения об этих изменениях в другой сервис.
В этом видео мы подробно разберемся, почему решаемая им проблема важна, как он устроен, а затем реализуем его самостоятельно на языке Go

Хорошая статья моего бывшего коллеги Миши Боровикова на эту же тему, если хотите глубже вникнуть в тему: https://habr.com/ru/companies/lamoda/...
Здесь подробно разобран пример использования паттерна в компании Lamoda.

Код из ролика я закоммитил в отдельную ветку проекта URL Shortener, т.к. в основной ветке мне этот функционал пока не нужен. Ссылка на соответствующую ветку: https://github.com/GolangLessons/url-...

----
👾 https://t.me/ntuzov - мой канал в Telegram.
Пишу в нём много интересного: гайды, которых нет на YouTube, интересные мысли про разработку, новости и анонсы всех моих активностей и др.

👀 GoLang Digest: https://t.me/golang_digest - мои регулярные подборки интересных материалов по Go.

🗣️ Наше сообщество GopherClub: https://t.me/+zsSZ63wEJDs3NGVi
Лучшее русскоязычное Go-сообщество с очень приятной атмосферой, без токсиков. Вежливо и терпеливо помогаем новичкам, конструктивно дискутируем с профессионалами и т.п.
Здесь также присутствуют все звезды Go-сообщества и представители интересных компаний.

❤️ Если у вас есть желание поддержать развитие канала:

Секретный телеграм-канал:
- В рублях: https://t.me/tribute/app?startapp=s3Q5
- В евро: https://t.me/tribute/app?startapp=s3Q6

Boosty: https://boosty.to/nikolay.tuzov
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

Комментарии

Информация по комментариям в разработке