📦 Outbox — простая реализация outbox-паттерна на Go для микросервисов
Если твои сервисы пишут в базу и одновременно публикуют события в Kafka, RabbitMQ или другие брокеры — знай: без outbox-паттерна ты рискуешь потерять данные.
🔧
🧠 Что она делает:
1. Сохраняет событие в таблицу
2. Отдельный воркер читает сообщения и отправляет их в брокер
3. После успешной доставки — сообщение помечается как доставленное
💡 Особенности:
- Поддержка PostgreSQL
- Готовые адаптеры для Kafka и RabbitMQ
- Возможность использовать свой брокер (реализуй интерфейс)
- Поддержка сериализации / форматирования событий
- Использует
🧩 Подходит для:
- надёжной синхронизации БД ↔ событий
- микросервисов, где важна консистентность
- систем, где нужна повторная доставка без дублей
🔥 Отличный выбор, если ты хочешь atomic-публикацию событий без тяжёлых фреймворков и сервисов.
#Go #OutboxPattern #Kafka #RabbitMQ #Microservices #EventDriven #PostgreSQL
🔗 https://github.com/oagudo/outbox
Если твои сервисы пишут в базу и одновременно публикуют события в Kafka, RabbitMQ или другие брокеры — знай: без outbox-паттерна ты рискуешь потерять данные.
🔧
Outbox
— это лёгкая и удобная библиотека на Go, которая помогает сделать доставку сообщений атомарной и надёжной, без лишней сложности.🧠 Что она делает:
1. Сохраняет событие в таблицу
outbox
в рамках транзакции2. Отдельный воркер читает сообщения и отправляет их в брокер
3. После успешной доставки — сообщение помечается как доставленное
💡 Особенности:
- Поддержка PostgreSQL
- Готовые адаптеры для Kafka и RabbitMQ
- Возможность использовать свой брокер (реализуй интерфейс)
- Поддержка сериализации / форматирования событий
- Использует
sqlx
и стандартную database/sql
🧩 Подходит для:
- надёжной синхронизации БД ↔ событий
- микросервисов, где важна консистентность
- систем, где нужна повторная доставка без дублей
🔥 Отличный выбор, если ты хочешь atomic-публикацию событий без тяжёлых фреймворков и сервисов.
#Go #OutboxPattern #Kafka #RabbitMQ #Microservices #EventDriven #PostgreSQL
🔗 https://github.com/oagudo/outbox
❤24👍12🔥4🤔4🥰1
🚀 ВКонтакте усиляет Go-экспертизу команды
ВКонтакте переходит на сервисную архитектуру и переобучает часть команд на Go — уже 140 разработчиков прошли внутреннюю программу обучения:
Программа адаптирована под реальные процессы ВКонтакте: архитектура сервисов, работа с высоконагруженной инфраструктурой, асинхронность, интеграции
Фокус не на обучении с нуля, а быстром входе в сложные и практические задачи: например, в финальном проекте участники разрабатывали каркас микросервиса в условиях, максимально близких к реальным.
💡 Почему это интересно
Переход на Go — часть технологической стратегии ВКонтакте: микросервисы дают командам автономность и ускоряют внедрение фич.
Разработчики не теряют накопленные знания о продукте, но получают новую экспертизу и майндсет.
Пример, как крупная компания может инвестировать в апгрейд команды, а не только в найм.
#golang #vk #microservices @golang_google
ВКонтакте переходит на сервисную архитектуру и переобучает часть команд на Go — уже 140 разработчиков прошли внутреннюю программу обучения:
Программа адаптирована под реальные процессы ВКонтакте: архитектура сервисов, работа с высоконагруженной инфраструктурой, асинхронность, интеграции
Фокус не на обучении с нуля, а быстром входе в сложные и практические задачи: например, в финальном проекте участники разрабатывали каркас микросервиса в условиях, максимально близких к реальным.
💡 Почему это интересно
Переход на Go — часть технологической стратегии ВКонтакте: микросервисы дают командам автономность и ускоряют внедрение фич.
Разработчики не теряют накопленные знания о продукте, но получают новую экспертизу и майндсет.
Пример, как крупная компания может инвестировать в апгрейд команды, а не только в найм.
#golang #vk #microservices @golang_google
🤬28😁10👍6🔥3❤1