Todos os produtos
Search
Central de documentação

ApsaraMQ for RocketMQ:Código de exemplo para Go

Última atualização: Jun 27, 2026

Envie e receba mensagens com o SDK do Apache RocketMQ 5.x para Go. A tabela a seguir lista códigos de exemplo para cada tipo de mensagem compatível, além dos parâmetros de configuração para conectar à sua instância do ApsaraMQ for RocketMQ.

Códigos de exemplo por tipo de mensagem

Todos os tipos de mensagem compartilham uma única implementação de SimpleConsumer para recebimento. A implementação do produtor varia conforme o tipo de mensagem.

Tipo de mensagem

Exemplo de produtor

Exemplo de consumidor

Mensagens normais

Síncrono: ExampleProducerNormalMessage.go

ExampleSimpleConsumer.go

Mensagens normais

Assíncrono: AsyncExampleProducerNormalMessage.go

Igual ao anterior

Mensagens ordenadas

ExampleProducerWithFifoMessage.go

Igual ao anterior

Mensagens agendadas e atrasadas

ExampleProducerDelayMessage.go

Igual ao anterior

Mensagens transacionais

ExampleProducerWithTransactionalMessage.go

Igual ao anterior

Parâmetros

Substitua os espaços reservados abaixo no código de exemplo pelos valores da sua instância do ApsaraMQ for RocketMQ.

Parâmetro

Exemplo

Descrição

Endpoint

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

Endpoint da instância. Use o endpoint público para acesso pela Internet ou o endpoint de VPC para acesso via VPC. Para mais informações, consulte Obter o endpoint de uma instância.

InstanceId

rmq-cn-xxx

ID da sua instância do ApsaraMQ for RocketMQ.

Topic

normal_test

Tópico para envio e consumo de mensagens. Crie o tópico antecipadamente. Para mais detalhes, consulte Criar um tópico.

ConsumerGroup

GID_test

Grupo de consumidores para processamento das mensagens. Crie o grupo de consumidores previamente. Para orientações adicionais, consulte Criar um grupo de consumidores.

AccessKey

1XVg0hzgKm******

Nome de usuário da instância. Obrigatório para acesso pela Internet. No acesso via VPC, é necessário apenas se a instância for serverless e a autenticação livre em VPCs estiver desabilitada. Para mais informações, consulte Obter o nome de usuário e senha de uma instância.

SecretKey

ijSt8rEc45******

Senha da instância. Obrigatória para acesso pela Internet. No acesso via VPC, é necessária apenas se a instância for serverless e a autenticação livre em VPCs estiver desabilitada. Para mais informações, consulte Obter o nome de usuário e senha de uma instância.

Acessar uma instância serverless pela Internet

Para acessar uma instância serverless do ApsaraMQ for RocketMQ pela Internet, adicione os campos NameSpace e Credentials à configuração do SDK.

Nota

Substitua InstanceId pelo ID real da sua instância.

Configuração do produtor

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

Configuração do consumidor

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