跳到主要内容

Golang Context 使用指南:超时控制、取消传播与并发编程最佳实践

· 阅读需 4 分钟

1. 背景​

context 是 Go 标准库中的一个核心包,用于在多个 Goroutine 之间传递请求相关的上下文信息(如超时、取消信号、键值数据等)。它常用于高并发场景(如 HTTP 服务、RPC 调用、数据库操作等),帮助优雅地控制 Goroutine 的生命周期。

消息模型详解:Pub/Sub、P2P、请求/响应等常见模式比较与应用场景

· 阅读需 4 分钟

消息模型是消息中间件中用于定义消息传递方式的抽象模式,常见的除了**订阅/发布模式(Pub/Sub)和点对点模式(P2P)**外,还有其他衍生或组合模型。

模式消息传递耦合度可靠性扩展性典型实现典型应用
点对点, P2P一对一低高中ActiveMQ, RabbitMQ异步任务、队列缓冲
发布/订阅一对多低中高Kafka, RabbitMQ事件通知、广播
请求/回复双向中高中RabbitMQ, ZeroMQRPC 调用
推/拉可配置低可配置高Kafka, RocketMQFan-out
流处理连续低中到高高Kafka Streams, Apache Flink日志处理、实时监控