Para enviar e receber mensagens com os SDKs HTTP do ApsaraMQ for RocketMQ, você precisa de quatro recursos: uma instância, um tópico, um group id e um endpoint HTTP. Este guia orienta a criação de cada recurso no console do ApsaraMQ for RocketMQ.
Pré-requisitos
Antes de começar, verifique se você já:
Restrições de acesso à rede
Analise estas restrições antes de criar os recursos:
|
Restrição |
Detalhes |
|
Escopo de região e instância |
Apenas produtores e consumidores cujo grupo foi criado na mesma região e instância podem acessar um tópico. Por exemplo, apenas grupos da Instância A em China (Hangzhou) acessam um tópico na Instância A na região China (Hangzhou). |
|
Correspondência de protocolo |
Endpoints tcp funcionam exclusivamente com SDKs cliente tcp. Endpoints HTTP funcionam exclusivamente com SDKs cliente HTTP. Não misture protocolos. |
|
Tipos de endpoint |
Endpoints públicos e privados estão 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 on-premises ou acesso via 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 Taxa de tráfego de Internet.
Etapa 1: Criar uma instância
Uma instância é uma máquina virtual que hospeda o serviço ApsaraMQ for RocketMQ. Ela armazena seus tópicos e group ids.
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 parâmetros abaixo e clique em OK.
Parâmetro
Descrição
Instance Type
Selecione Standard Edition ou Enterprise Platinum Edition. Para detalhes sobre faturamento, consulte Visão geral do faturamento.
Name
Nome descritivo para a instância. Exemplo:
rocketmq-order-prodDescription
Breve descrição da finalidade da instância. Exemplo:
Order processing messages
Resultado: A nova instância aparece na página Instances.
Etapa 2: Criar um tópico
Um tópico é uma categoria de mensagem de primeiro nível. Produtores enviam mensagens para um tópico e consumidores se inscrevem nesse tópico para recebê-las. Por exemplo, você pode criar um tópico chamado Topic_Trade para mensagens transacionais.
Regras de tópico:
|
Regra |
Detalhes |
|
Escopo da instância |
Um tópico pertence a uma única instância. Um tópico criado na Instância A não está disponível na Instância B. |
|
Nomes exclusivos |
Os nomes dos tópicos devem ser exclusivos dentro de uma instância. |
|
Tipo único de mensagem |
Cada tópico suporta 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 Tipos de mensagem.
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 exclusivo para o tópico nesta instância. Exemplo:
Topic_OrderMessage Type
Selecione Normal Message. Este exemplo utiliza mensagens normais.
Description
Breve descrição da finalidade 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 com o Status definido como Enabled.
Se o Status exibir Creating , atualize a página até que mude para Enabled .
Etapa 3: Criar um group id
Um group id identifica um conjunto de produtores ou consumidores relacionados.
Regras de grupo:
|
Regra |
Detalhes |
|
Limite da instância |
Cada instância suporta 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 da instância |
Um grupo pertence a uma única instância. Um grupo criado na Instância A não está disponível na Instância B. |
|
Requisito para consumidor |
Um group id é obrigatório para cada consumidor. Para produtores, ele é opcional. |
|
Separação de protocolo |
Grupos de consumidores podem consumir mensagens via HTTP ou tcp, e diferentes grupos podem usar protocolos distintos. 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 informações, consulte Gerenciar grupos. |
Alterar o protocolo usado pelos consumidores em um grupo leva aproximadamente de 1 a 2 horas. Caso os consumidores utilizem um protocolo diferente daquele 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 para atualizar 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 parâmetros a seguir e clique em OK.
Parâmetro
Descrição
Group ID
Identificador exclusivo do grupo. Exemplo:
GID_Order_HTTPDescription
Breve descrição da finalidade do grupo. Exemplo:
HTTP consumers for order messages
Resultado: O novo group id aparece na lista de grupos.
Etapa 4: Obter o endpoint HTTP
Após criar 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 aba Endpoints.
-
Na seção HTTP Endpoint, passe o mouse sobre o endpoint e clique para copiá-lo.

O endpoint HTTP e o endpoint tcp da mesma instância não são intercambiáveis. Ao utilizar um SDK cliente HTTP, use obrigatoriamente o endpoint HTTP. Esse endpoint é específico da região. Especifique tanto o endpoint quanto o id da instância no seu código antes de enviar ou receber mensagens.
Resultado: O endpoint HTTP é 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: