Publisher хранит map[string][]chan Event — подписчики по топикам. Subscribe: создаёт канал, добавляет в map. Publish: итерирует подписчиков топика, отправляет в каждый канал (через select с default чтобы не блокироваться на медленных). Unsubscribe: удаляет канал из map, закрывает его. Всё защищаешь sync.RWMutex. Для production — лучше NATS или Redis pub/sub, каналы хороши для in-process. Проблемы самописного: медленный подписчик блокирует или теряет сообщения.
Как реализовать pub/sub на каналах?
Middle
214 просмотровAFK Offer AI
Как добавить request tracing?