Para enviar e receber mensagens com os SDK HTTP do ApsaraMQ for RocketMQ, são necessários quatro recursos: uma instância, um tópico, um ID de grupo e um endpoint HTTP. Este guia mostra como crie cada recurso no console do ApsaraMQ for RocketMQ.
Pré-requisitos
Antes de começar, certifique-se de ter:
Restrições de acesso à rede
Analise estas restrições antes de crie os recursos:
|
Restrição |
Detalhes |
|
Escopo de região e instância |
Apenas produtores e consumidores de um grupo criado na mesma região e instância podem acessar um tópico. Por exemplo, um tópico na Instância A, na região China (Hangzhou), é acessível apenas para grupos na Instância A, em China (Hangzhou). |
|
Correspondência de protocolo |
Endpoints TCP funcionam apenas com SDK de cliente TCP. Endpoints HTTP funcionam apenas com SDK de cliente HTTP. Não misture protocolos. |
|
Tipos de endpoint |
Há endpoints públicos e privados disponíveis para TCP e HTTP em todas as regiões. |
Seleção de endpoint:
Ambientes de produção: Use um endpoint privado baseado em VPC.
Acesso entre regiões, data centers locais ou acesso à Internet (quando o CEN não estiver disponível): Use um endpoint público. Há cobrança de taxas de tráfego de saída. Para mais detalhes, consulte Internet traffic fee.
Etapa 1: Crie uma instância
Uma instância é uma máquina virtual que hospeda o service do ApsaraMQ for RocketMQ e armazena seus tópicos e ID de grupo.
Faça login no console do ApsaraMQ for RocketMQ.
No painel de navegação à esquerda, clique em Instances.
Na barra de navegação superior, selecione uma região. Exemplo: China (Hangzhou).
Na página Instances, clique em Create Instance.
-
No painel Create Message Queue for Apache RocketMQ Instance, configure os seguintes parâmetros e clique em OK.
Parâmetro
Descrição
Instance Type
Selecione Standard Edition Instance ou Enterprise Platinum Edition. Para obter detalhes sobre o faturamento, consulte Billing overview.
Name
Nome descritivo para a instância. Exemplo:
rocketmq-order-prodDescription
Breve descrição do propósito da instância. Exemplo:
Order processing messages
Resultado: A nova instância aparecerá na página Instances.
Etapa 2: Crie um tópico
Um tópico é uma categoria de mensagem de primeiro nível. Os produtores enviam mensagens para um tópico, e os consumidores o assinam para recebê-las. Por exemplo, crie um tópico chamado Topic_Trade para mensagens transacionais.
Regras de tópicos:
|
Regra |
Detalhes |
|
Escopo de instância |
Um tópico pertence a uma única instância. Um tópico criado na Instância A não fica disponível na Instância B. |
|
Nomes exclusivos |
Os nomes dos tópicos devem ser exclusivos dentro de uma instância. |
|
Tipo de mensagem único |
Cada tópico aceita apenas um tipo de mensagem. Crie tópicos separados para diferentes tipos de mensagem. |
Exemplos de tipos de mensagem:
|
Nome do tópico |
Tipo de mensagem |
|
Tópico A |
Mensagens normais |
|
Tópico B |
Mensagens transacionais |
|
Tópico C |
Mensagens agendadas e atrasadas |
Para obter detalhes sobre os tipos de mensagem, consulte Message types.
Create the topic:
Na página de detalhes da instância, clique em Topics no painel de navegação à esquerda.
Na página Topics, clique em Create Topic.
-
No painel Create Topic, configure os seguintes parâmetros e clique em OK.
Parâmetro
Descrição
Name
Nome de tópico exclusivo nesta instância. Exemplo:
Topic_OrderMessage Type
Selecione Normal Message. Este exemplo usa mensagens normais.
Description
Breve descrição do propósito do tópico. Exemplo:
Order-related messages
Este exemplo usa apenas mensagens normais. Para enviar ou receber mensagens transacionais, agendadas ou atrasadas, crie um tópico separado com o tipo de mensagem correspondente.
Resultado: O novo tópico aparece na lista de tópicos e defina o Status como Enabled.
Se o Status exibir Creating , atualize a página até que mude para Enabled .
Etapa 3: Crie um ID de grupo
Um ID de grupo identifica um conjunto de produtores ou consumidores relacionados.
Regras de grupo:
|
Regra |
Detalhes |
|
Limite de instância |
Cada instância aceita até 1.000 grupos. Reutilize grupos existentes ou exclua os não utilizados sempre que possível. Para aumentar esse limite, entre em contato com o suporte técnico do ApsaraMQ for RocketMQ. |
|
Escopo de instância |
Um grupo pertence a uma única instância. Um grupo criado na Instância A não fica disponível na Instância B. |
|
Requisito de consumidor |
Um ID de grupo é obrigatório para cada consumidor e opcional para produtores. |
|
Separação de protocolo |
Grupos de consumidores podem consumir mensagens por HTTP ou TCP, e diferentes grupos podem usar protocolos diferentes. Crie grupos separados para os protocolos TCP e HTTP. O uso de protocolos diferentes no mesmo grupo de consumidores pode causar falhas no consumo, duplicação ou perda de mensagens. Para mais detalhes, consulte Gerencie grupos. |
Alterar o protocolo usado pelos consumidores em um grupo leva de 1 a 2 horas. Se os consumidores usarem um protocolo diferente do exibido no console, os dados do console podem ficar imprecisos, mas o envio de mensagens não será afetado. Entre em contato com o suporte técnico e atualize o protocolo exibido.
Create the group:
Na página de detalhes da instância, clique em Groups no painel de navegação à esquerda.
Na página Groups, escolha HTTP > Create Group.
-
No painel Create Group for HTTP Protocol, configure os seguintes parâmetros e clique em OK.
Parâmetro
Descrição
Group ID
Identificador de grupo exclusivo. Exemplo:
GID_Order_HTTPDescription
Breve descrição do propósito do grupo. Exemplo:
HTTP consumers for order messages
Resultado: O novo ID de grupo aparece na lista de grupos.
Etapa 4: Obter o endpoint HTTP
Após crie todos os recursos, obtenha o endpoint HTTP para conectar sua aplicação ao broker do ApsaraMQ for RocketMQ.
Na página de detalhes da instância, clique em Instance Details no painel de navegação à esquerda.
Na página Instance Details, clique na guia Endpoints.
-
Na seção HTTP Endpoint, passe o mouse sobre o endpoint e clique em copiar.

Os endpoints HTTP e TCP da mesma instância não são intercambiáveis. Se você usar um SDK de cliente HTTP, deverá usar o endpoint HTTP. O endpoint HTTP é específico da região, então especifique o endpoint e o ID da instância no seu código antes de enviar ou receber mensagens.
Resultado: O endpoint HTTP será copiado para a área de transferência. Salve-o para usar na configuração do seu SDK.
Próximos passos
Com todos os recursos criados, comece a enviar e receber mensagens: