Todos los productos
Search
Centro de documentos

ApsaraMQ for RocketMQ:Temas

Última actualización: Sep 21, 2026

Este tema describe la definición, la relación del modelo, los atributos internos, las restricciones de comportamiento, la compatibilidad de versiones y las notas de uso de los temas en ApsaraMQ for RocketMQ.

Definición

En ApsaraMQ for RocketMQ, un tema es un contenedor de nivel superior que transmite y almacena mensajes. Un tema identifica los mensajes que comparten la misma lógica de negocio.

Los temas ofrecen a continuación los siguientes beneficios:

  • Categorización y aislamiento de datos

    Cuando diseñe soluciones con ApsaraMQ for RocketMQ, cree distintos temas para gestionar los mensajes de diferentes tipos de negocio. Esta práctica garantiza el aislamiento tanto del almacenamiento como de las suscripciones.

  • Gestión de identidades y permisos

    Los mensajes en ApsaraMQ for RocketMQ son anónimos. Utilice un tema para gestionar las identidades y los permisos de los mensajes de una categoría específica.

Relación del modelo

La siguiente figura muestra la posición de un tema dentro del modelo de dominio de ApsaraMQ for RocketMQ.

主题

En ApsaraMQ for RocketMQ, un tema actúa como contenedor de nivel superior para todos los recursos de mensajes. Sin embargo, se trata de un concepto lógico y no del contenedor real de los mensajes.

Un tema se compone de una o más colas que se encargan del almacenamiento de mensajes y del escalado horizontal. Todas las restricciones y configuraciones de atributos de un tema se implementan en el nivel de la cola.

Si un tema es de tipo Lite, puede crear recursos LiteTopic bajo este. De forma predeterminada, cada LiteTopic consta de una sola cola.

Conceptos

Tema

En ApsaraMQ for RocketMQ, un tema es un contenedor de nivel superior que transmite y almacena mensajes. Identifica los mensajes que comparten la misma lógica de negocio y se reconoce de manera única por su nombre de tema.

LiteTopic

Si un tema es de tipo Lite, puede crear elementos LiteTopic bajo este. La combinación del tema y el LiteTopic identifica de forma única el contenedor de almacenamiento de mensajes. De manera predeterminada, cada contenedor de almacenamiento consta de una sola cola.

Atributos internos

Nombre del tema

  • Definición: el nombre de un tema. Este debe ser único a nivel global dentro de un clúster y sirve para identificar el tema.

  • Valor: especifique el nombre del tema cuando lo cree.

  • Restricciones: para obtener más información, consulte Parameter limits.

Colas

  • Definición: las colas son los componentes subyacentes de un tema y funcionan como los contenedores reales para el almacenamiento de mensajes. Un tema contiene una o más colas donde se almacenan los mensajes. Para obtener más información, consulte Queues (MessageQueue).

  • Valor: el sistema asigna colas a un tema según la cantidad especificada. Usted define esta cantidad al crear el tema.

  • Restricciones: un tema debe contener como mínimo una cola.

Tipo de mensaje

  • Definición: el tipo de mensaje que admite el tema.

  • Valor: seleccione un tipo de mensaje cuando cree un tema. ApsaraMQ for RocketMQ admite los siguientes tipos de temas:

    • Normal: Normal messages. Un mensaje normal carece de semántica especial y no guarda relación con otros mensajes.

    • FIFO: Ordered messages. ApsaraMQ for RocketMQ utiliza un grupo de mensajes (MessageGroup) para definir el orden de un conjunto de mensajes. Esto garantiza que los mensajes se entreguen exactamente en el mismo orden en que se enviaron.

    • Delay: Scheduled and delayed messages. Especifique un tiempo de retraso para evitar que un mensaje se entregue inmediatamente después de su envío. El mensaje solo será visible para los consumidores una vez transcurrido dicho retraso.

    • Transaction: Transactional messages. ApsaraMQ for RocketMQ admite mensajes transaccionales distribuidos. Garantiza la consistencia transaccional entre las actualizaciones de la base de datos y las llamadas a los mensajes.

    • Lite: mensajes Lite. La función LiteTopic solo está disponible para temas con el tipo de mensaje Lite.

  • Restricciones: cada tema admite únicamente un tipo de mensaje.

Tiempo de caducidad de LiteTopic

  • Definición: el tiempo de caducidad de los recursos LiteTopic dentro de un tema. Un LiteTopic se elimina automáticamente si el tiempo transcurrido desde la última escritura de un mensaje supera el valor de caducidad establecido.

  • Valor: se expresa en minutos y puede ser un número entre 30 y 720, o bien -1. El valor -1 indica que el LiteTopic nunca caduca.

  • Límites: este parámetro solo es válido cuando el tipo de mensaje es Lite.

Restricciones de comportamiento

Verificación obligatoria del tipo de mensaje

En ApsaraMQ for RocketMQ 5.x, los tipos de mensajes se gestionan y procesan de forma independiente dentro de los temas. El sistema comprueba el tipo de un mensaje enviado frente al tipo definido para el tema de destino. Si la verificación falla, se rechaza la solicitud de envío y el sistema devuelve una excepción de discrepancia de tipos. Se aplican las siguientes reglas de verificación:

  • Consistencia del tipo de mensaje

    El tipo del mensaje enviado debe coincidir con el tipo definido para el tema de destino.

  • Un solo tipo de mensaje por tema

    Cada tema admite únicamente un tipo de mensaje. No envíe mensajes de distintos tipos al mismo tema.

Escenarios comunes de uso incorrecto

  • Envío de mensajes con un tipo incompatible

    Por ejemplo, si crea un tema y define su tipo de mensaje como ordenado, pero luego envía un mensaje transaccional a ese tema, la solicitud de envío se rechazará y se devolverá una excepción de discrepancia de tipos.

  • Mezcla de tipos de mensajes en un solo tema

    Por ejemplo, si crea un tema y define su tipo de mensaje como normal, pero después envía tanto mensajes normales como ordenados a ese tema, las solicitudes de los mensajes ordenados se rechazarán y se devolverá una excepción de discrepancia de tipos.

Compatibilidad de versiones

La verificación obligatoria del tipo de mensaje solo aplica a los brokers de ApsaraMQ for RocketMQ 5.x.

Los brokers de ApsaraMQ for RocketMQ 4.x no aplican esta verificación. No obstante, se recomienda mantener la consistencia del tipo de mensaje cuando utilice estos brokers.

Notas de uso

Planifique los temas según las categorías de negocio

Al diseñar temas en ApsaraMQ for RocketMQ, se recomienda agrupar los mensajes por categoría principal de negocio. Reúna en un solo tema aquellos mensajes que compartan los mismos atributos funcionales dentro de un mismo dominio de negocio. Al determinar la granularidad de los temas, considere los siguientes factores:

  • Consistencia del tipo de mensaje: los distintos tipos de mensajes, como los ordenados y los normales, requieren temas separados.

  • Relevancia del negocio: si los negocios no están directamente relacionados, utilice temas distintos. Por ejemplo, los mensajes de transacciones de Taobao y los mensajes logísticos de Freshippo no tienen traslape comercial, por lo que necesitan temas diferentes. Para los mensajes de un mismo negocio, como las transacciones de Taobao, puede usar un solo tema tanto para pedidos de ropa femenina como masculina. Sin embargo, si el volumen de negocio es alto o los submódulos requieren categorizar aún más los tipos de pedido, divida los mensajes en dos temas independientes: uno para pedidos de ropa femenina y otro para ropa masculina.

  • Volumen de mensajes: se recomienda utilizar temas distintos para los mensajes de negocio que difieran en magnitud o en requisitos de puntualidad. Por ejemplo, algunos mensajes de negocio tienen un volumen muy bajo, pero son altamente sensibles al tiempo. Si estos mensajes comparten un tema con un negocio que genera un gran volumen, el tiempo de espera de los mensajes urgentes aumentará.

Ejemplo de división correcta de temas: en un escenario de compras en línea, utilice un tema para los mensajes de transacción de pedidos, como la creación, el pago y la cancelación. Emplee un tema aparte para los mensajes relacionados con la logística y otro distinto para los mensajes de gestión de puntos.

Ejemplos de división incorrecta de temas:

  • División con una granularidad demasiado gruesa: provoca un aislamiento deficiente del negocio y dificulta las tareas independientes de operación y mantenimiento, así como la resolución de fallas. Un ejemplo es usar un solo tema para todos los mensajes de transacciones y logística.

  • División con una granularidad demasiado fina: consume recursos excesivos de los temas y puede sobrecargar el sistema. Un ejemplo es crear un tema separado para cada ID de usuario.

Utilice un solo tema para un tipo de mensaje y evite mezclar tipos

Los temas en ApsaraMQ for RocketMQ están diseñados para aislar los negocios. Se recomienda emplear temas distintos para mensajes con lógicas de negocio diferentes. Los mensajes que comparten la misma lógica de negocio tienen el mismo tipo de mensaje. Por lo tanto, un tema debe utilizarse exclusivamente para un tipo de mensaje.

Evite usar mecanismos automatizados para gestionar temas

En la arquitectura de ApsaraMQ for RocketMQ, los temas son recursos y contenedores de nivel superior. Cuentan con capacidades independientes para la gestión de permisos, la recopilación de métricas de observability y el monitoreo. Crear y gestionar temas consume recursos del sistema. Por ello, administre estrictamente los recursos de los temas en un entorno de producción. No agregue, elimine, modifique ni consulte temas de forma arbitraria.