当使用 Go SDK 连接和消费 RocketMQ 消息时,可以按照以下步骤进行:
- 安装 Go SDK:
go get -u github.com/apache/rocketmq-client-go/v2
- 创建消费者:
package main
import (
"context"
"fmt"
"log"
"github.com/apache/rocketmq-client-go/v2/consumer"
"github.com/apache/rocketmq-client-go/v2/primitive"
)
func main() {
c, err := consumer.NewConsumer(
consumer.WithNameServer([]string{"127.0.0.1:9876"}),
)
if err != nil {
log.Fatal(err)
}
err = c.Subscribe("TopicName", consumer.MessageSelector{},
func(ctx context.Context, msgs ...*primitive.MessageExt) (consumer.ConsumeResult, error) {
for _, msg := range msgs {
fmt.Printf("Received message: %s\n", string(msg.Body))
}
return consumer.ConsumeSuccess, nil
},
)
if err != nil {
log.Fatal(err)
}
err = c.Start()
if err != nil {
log.Fatal(err)
}
select {}
}
修改
Subscribe方法中的"TopicName"为你要订阅的具体 topic 名称。运行消费者代码即可接收该 topic 下的消息。
请注意,在实际使用中,还需要根据自己的环境配置 NameServer 地址、消息过滤条件等。以上示例仅供参考。
内容由零声教学AI助手提供,问题来源于学员提问




