Para enviar y recibir mensajes con los SDK de HTTP de ApsaraMQ for RocketMQ, se requieren cuatro recursos: una instancia, un topic, un group ID y un endpoint HTTP. Esta guía describe cómo crear cada recurso en la consola de ApsaraMQ for RocketMQ.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Restricciones de acceso a la red
Revise estas restricciones antes de crear los recursos:
|
Restricción |
Detalles |
|
Alcance de región e instancia |
Un topic solo es accesible para productores y consumidores cuyo grupo se haya creado en la misma región e instancia. Por ejemplo, un topic en la Instancia A de la región China (Hangzhou) solo está disponible para los grupos de la Instancia A en China (Hangzhou). |
|
Coincidencia de protocolo |
Los endpoints TCP funcionan únicamente con SDK de cliente TCP. Los endpoints HTTP funcionan únicamente con SDK de cliente HTTP. No mezcle protocolos. |
|
Tipos de endpoint |
Tanto los endpoints públicos como los privados están disponibles para TCP y HTTP en todas las regiones. |
Selección de endpoint:
Entornos de producción: Utilice un endpoint privado basado en VPC.
Acceso entre regiones, centros de datos locales o acceso a Internet (cuando CEN no está disponible): Utilice un endpoint público. Se aplican cargos por tráfico saliente. Para más información, consulte Internet traffic fee.
Paso 1: Crear una instancia
Una instancia es una máquina virtual que aloja el servicio ApsaraMQ for RocketMQ. En ella se almacenan sus topics y group IDs.
Inicie sesión en la consola de ApsaraMQ for RocketMQ.
En el panel de navegación izquierdo, haga clic en Instances.
En la barra de navegación superior, seleccione una región. Ejemplo: China (Hangzhou).
En la página Instances, haga clic en Create Instance.
-
En el panel Create Message Queue for Apache RocketMQ Instance, configure los siguientes parámetros y luego haga clic en OK.
Parámetro
Descripción
Instance Type
Seleccione Standard Edition o Enterprise Platinum Edition. Para detalles de facturación, consulte Billing overview.
Name
Un nombre descriptivo para la instancia. Ejemplo:
rocketmq-order-prodDescription
Una breve descripción del propósito de la instancia. Ejemplo:
Order processing messages
Resultado: La nueva instancia aparece en la página Instances.
Paso 2: Crear un topic
Un topic es una categoría de mensajes de primer nivel. Los productores envían mensajes a un topic y los consumidores se suscriben a dicho topic para recibirlos. Por ejemplo, puede crear un topic llamado Topic_Trade para mensajes transaccionales.
Reglas de los topics:
|
Regla |
Detalles |
|
Alcance de instancia |
Un topic pertenece a una sola instancia. Un topic creado en la Instancia A no está disponible en la Instancia B. |
|
Nombres únicos |
Los nombres de los topics deben ser únicos dentro de una instancia. |
|
Tipo de mensaje único |
Cada topic admite solo un tipo de mensaje. Cree topics separados para distintos tipos de mensaje. |
Ejemplos de tipos de mensaje:
|
Nombre del topic |
Tipo de mensaje |
|
Topic A |
Mensajes normales |
|
Topic B |
Mensajes transaccionales |
|
Topic C |
Mensajes programados y diferidos |
Para más información sobre los tipos de mensaje, consulte Message types.
Create the topic:
En la página de detalles de la instancia, haga clic en Topics en el panel de navegación izquierdo.
En la página Topics, haga clic en Create Topic.
-
En el panel Create Topic, configure los siguientes parámetros y luego haga clic en OK.
Parámetro
Descripción
Name
Un nombre de topic único dentro de esta instancia. Ejemplo:
Topic_OrderMessage Type
Seleccione Normal Message. Este ejemplo utiliza mensajes normales.
Description
Una breve descripción del propósito del topic. Ejemplo:
Order-related messages
Este ejemplo utiliza únicamente mensajes normales. Para enviar o recibir mensajes transaccionales, programados o diferidos, cree un topic separado con el tipo de mensaje correspondiente.
Resultado: El nuevo topic aparece en la lista de topics con el Status establecido en Enabled.
Si el Status muestra Creating , actualice la página hasta que cambie a Enabled .
Paso 3: Crear un group ID
Un group ID identifica un conjunto de productores o consumidores relacionados.
Reglas de los grupos:
|
Regla |
Detalles |
|
Límite por instancia |
Cada instancia admite hasta 1,000 grupos. Reutilice los grupos existentes o elimine los que no se utilicen siempre que sea posible. Para aumentar este límite, contacte al soporte técnico de ApsaraMQ for RocketMQ. |
|
Alcance de instancia |
Un grupo pertenece a una sola instancia. Un grupo creado en la Instancia A no está disponible en la Instancia B. |
|
Requisito para consumidores |
Se requiere un group ID para cada consumidor. Es opcional para los productores. |
|
Separación de protocolos |
Los grupos de consumidores pueden consumir mensajes mediante HTTP o TCP, y distintos grupos de consumidores pueden usar protocolos diferentes. Cree grupos separados para los protocolos TCP y HTTP. El uso de protocolos distintos dentro del mismo grupo de consumidores puede provocar fallos en el consumo de mensajes, duplicación o pérdida de datos. Para más información, consulte Manage groups. |
Cambiar el protocolo utilizado por los consumidores de un grupo tarda aproximadamente entre 1 y 2 horas. Si los consumidores utilizan un protocolo diferente al que se muestra en la consola, los datos de la consola podrían ser inexactos, pero la mensajería no se verá afectada. Contacte al soporte técnico para actualizar el protocolo mostrado.
Create the group:
En la página de detalles de la instancia, haga clic en Groups en el panel de navegación izquierdo.
En la página Groups, elija HTTP > Create Group.
-
En el panel Create Group for HTTP Protocol, configure los siguientes parámetros y luego haga clic en OK.
Parámetro
Descripción
Group ID
Un identificador de grupo único. Ejemplo:
GID_Order_HTTPDescription
Una breve descripción del propósito del grupo. Ejemplo:
HTTP consumers for order messages
Resultado: El nuevo group ID aparece en la lista de grupos.
Paso 4: Obtener el endpoint HTTP
Después de crear todos los recursos, obtenga el endpoint HTTP para conectar su aplicación al broker de ApsaraMQ for RocketMQ.
En la página de detalles de la instancia, haga clic en Instance Details en el panel de navegación izquierdo.
En la página Instance Details, haga clic en la pestaña Endpoints.
-
En la sección HTTP Endpoint, pase el cursor sobre el endpoint y haga clic para copiarlo.

El endpoint HTTP y el endpoint TCP de la misma instancia no son intercambiables. Si utiliza un SDK de cliente HTTP, debe usar el endpoint HTTP. El endpoint HTTP es específico de la región. Especifique tanto el endpoint como el ID de la instancia en su código antes de enviar o recibir mensajes.
Resultado: El endpoint HTTP se copia al portapapeles. Guárdelo para utilizarlo en la configuración de su SDK.
Siguientes pasos
Una vez creados todos los recursos, comience a enviar y recibir mensajes: