Как реализовать pub/sub?

Middle
188 просмотров
AFK Offer AI

Pub/Sub — издатель публикует сообщения, подписчики получают. Структура: map[topic][]chan Message + sync.RWMutex. Subscribe: создаёшь канал, добавляешь в map по топику. Publish: проходишь по подписчикам топика, шлёшь в каждый канал (неблокирующим select чтобы медленный подписчик не блокировал). Unsubscribe: удаляешь канал из слайса, закрываешь. Для продакшена — NATS, Redis Pub/Sub, Kafka. Но уметь написать in-memory версию на собесе — must have для middle.

Следующий вопрос

Как мониторить PostgreSQL performance?