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 |
|
Síncrono: ExampleProducerNormalMessage.go |
||
|
Mensagens normais |
Assíncrono: AsyncExampleProducerNormalMessage.go |
Igual ao anterior |
|
Igual ao anterior |
||
|
Igual ao anterior |
||
|
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 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. |
|
|
|
ID da sua instância do ApsaraMQ for RocketMQ. |
|
|
|
Tópico para envio e consumo de mensagens. Crie o tópico antecipadamente. Para mais detalhes, consulte Criar um tópico. |
|
|
|
Grupo de consumidores para processamento das mensagens. Crie o grupo de consumidores previamente. Para orientações adicionais, consulte Criar um grupo de consumidores. |
|
|
|
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. |
|
|
|
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.
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,
},
},