并发模式:发布订阅模式

📅 发布时间:2026/8/25 12:44:39
并发模式:发布订阅模式
TL;DR 核心要点速览无缓冲channel发送和接收必须同步,否则死锁有缓冲channel缓冲区未满时发送不阻塞goroutine初始栈2KB,比线程轻100倍GMP调度器P数量默认等于CPU核数sync.Mutex保护共享状态,channel用于通信本篇是Go并发编程模块,含实战代码摘要:发布订阅模式Pub/Sub实现,事件总线、多订阅者、topic分发、Go并发通信模式Go并发编程实战(三十)|并发模式之发布订阅模式摘要:本文用Go原生channel实现一个生产级别的发布订阅(Pub/Sub)组件,讲解Broker设计、多订阅者fan-out、慢消费者处理,并分享一个订阅者goroutine泄漏的真实踩坑案例。一、从一个用户注册事件说起去年我负责重构一个用户中心的微服务。原来的逻辑是这样的,用户注册成功之后,依次调用发欢迎邮件、送新手券、写分析日志、推送IM消息。这些操作串在一起,注册接口的响应时间从80ms涨到了600ms,前端同学天天追着我催。