示例代码

本文介绍Apache RocketMQ Go SDK的消息收发示例代码。

消息类型

发送消息示例代码

订阅消息示例代码(SimpleConsumer

普通消息

ExampleSimpleConsumer.go

顺序消息

ExampleProducerWithFifoMessage.go

定时/延时消息

ExampleProducerDelayMessage.go

事务消息

ExampleProducerWithTransactionalMessage.go

参数说明

参数

示例值

描述

Endpoint

rmq-cn-xxx.{regionId}.rmq.aliyuncs.com:8080

云消息队列 RocketMQ 版实例的接入点。获取方式,请参见获取实例接入点

  • 使用公网访问,请填写公网接入点。

  • 使用内网访问,请填写VPC接入点。

InstanceId

rmq-cn-xxx

云消息队列 RocketMQ 版实例ID。

Topic

normal_test

云消息队列 RocketMQ 版Topic,用于指定生产者将消息发送到哪个Topic,或者指定消费者要消费哪个Topic的消息。

Topic需要提前在云消息队列 RocketMQ 版实例下创建。具体操作,请参见创建Topic

ConsumerGroup

GID_test

云消息队列 RocketMQ 版ConsumerGroup,用于指定消费者使用哪个消费者分组消费消息。

Group需要提前在云消息队列 RocketMQ 版实例下创建。具体操作,请参见创建ConsumerGroup

AccessKey

1XVg0hzgKm******

云消息队列 RocketMQ 版实例的用户名。公网访问时,必须填写实例的用户名;VPC访问时,若Serverless实例未开启内网免身份识别功能,则也必须填写实例的用户名。

获取方式,请参见获取实例用户名密码

SecretKey

ijSt8rEc45******

云消息队列 RocketMQ 版实例的用户密码。公网访问时,必须填写实例的用户密码;VPC访问时,若Serverless实例未开启内网免身份识别功能,则也必须填写实例的用户密码。

获取方式,请参见获取实例用户名密码

Serverless版实例公网访问说明

使用公网访问接入云消息队列 RocketMQ 版Serverless实例时,需要在消息收发代码中补充如下内容:

说明

其中,InstanceId需要替换为您实际使用的实例ID。

生产者

producer, err := rmq_client.NewProducer(&rmq_client.Config{
	Endpoint: Endpoint,
	NameSpace: "InstanceId",
	Credentials: &credentials.SessionCredentials{
		AccessKey:    AccessKey,
		AccessSecret: SecretKey,
	},
},

消费者

simpleConsumer, err := rmq_client.NewSimpleConsumer(&rmq_client.Config{
	Endpoint: Endpoint,
	ConsumerGroup: ConsumerGroup,
	NameSpace: "InstanceId",
	Credentials: &credentials.SessionCredentials{
		AccessKey:    AccessKey,
		AccessSecret: SecretKey,
	},
},