Облачная платформаAdvanced

Создание темы RocketMQ

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

Тема является базовой единицей для отправки и получения сообщений. После покупки RocketMQ instance необходимо вручную создать тему. Производители сообщений отправляют сообщения в эту тему. Потребители сообщений получают сообщения, подписываясь на эту тему.

Примечания и ограничения

  • Темы нельзя использовать между instance. Например, тема A instance A не может быть использована в instance B.
  • Тип темы и тип сообщения (см. Table 2) должны быть согласованы, когда клиент использует gRPC для отправки и получения сообщений в версии v5.x. Например, чтобы создать тему для отправки и получения обычных сообщений, тип сообщения этой темы должен быть обычным. В противном случае может произойти отказ узла или запланированная потеря сообщений во время миграции instance.

Предварительные условия

RocketMQ instance был приобретён.

Создание темы

  1. Войдите в консоль.
  2. Нажмите в левом верхнем углу, чтобы выбрать регион.

    DMS instances в разных регионах не могут взаимодействовать друг с другом через интранет. Выберите ближайшее расположение для низкой задержки и быстрого доступа.

  3. Нажмите и выберите Application > Distributed Message Service for RocketMQ, чтобы открыть страницу DMS for RocketMQ.
  4. Нажмите название instance RocketMQ, чтобы перейти на страницу обзора instance.
  5. В панели навигации выберите Instance > Topics.
  6. Нажмите Create Topic.
  7. Настройте имя темы и другие параметры, ссылаясь на Table 1 или Table 2.

    Figure 1 Создание темы (RocketMQ 4.8.0)


    Figure 2 Создание темы (RocketMQ 5.x)


    Table 1 Параметры темы (RocketMQ 4.8.0)

    Параметр

    Описание

    Имя темы

    Имя темы.

    Имя темы должно соответствовать следующим требованиям:

    • Содержит от 3 до 64 символов.
    • Содержит только буквы, цифры, знаки процента (%), вертикальные черты (|), дефисы (-) и подчёркивания (_).

      Знак процента (%) или вертикальная черта (|), содержащиеся в имени темы, будут преобразованы в подчёркивание (_) сервисом Cloud Eye. Например, если имя темы test%01, оно будет отображаться как test_01 в Cloud Eye.

    • Не может начинаться с rmq_sys_.
    • Не может совпадать со следующими строками:
      • TBW102
      • SCHEDULE_TOPIC_XXXX
      • BenchmarkTest
      • RMQ_SYS_TRANS_HALF_TOPIC
      • RMQ_SYS_TRACE_TOPIC
      • RMQ_SYS_TRANS_OP_HALF_TOPIC
      • TRANS_CHECK_MAX_TIME_TOPIC
      • SELF_TEST_TOPIC
      • OFFSET_MOVED_EVENT

    • Имя темы должно быть уникальным. В противном случае тема не может быть создана.

    После создания темы вы не можете изменить её имя.

    Разрешение

    Разрешения для темы.

    Параметры:

    • Publish/Subscribe: Производители могут отправлять сообщения в эту тему. Потребители могут получать их из этой темы.
    • Publish: Производители могут отправлять сообщения в тему, но потребители не могут получать их из этой темы.
    • Subscribe: Производители не могут отправлять сообщения в эту тему, но потребители могут получать сообщения из этой темы.

    По умолчанию: Publish/Subscribe

    Brokers

    Укажите брокер, на котором создать тему, и количество очередей в теме.

    Если инстанс развернут на нескольких брокерах, нажмите Add, чтобы добавить дополнительные брокеры и задать количество очередей в теме.

    Чтобы добавить связанные брокеры, увеличьте количество брокеров. Подробности см. Modifying RocketMQ Specifications. Увеличение количества брокеров повышает максимальное количество поддерживаемых тем. Например, увеличение количества брокеров с 1 до 2 повышает максимальное количество тем с 4 000 у одного брокера до 8 000 у двух брокеров.

    Description

    Описание темы.

    Значение содержит от 0 до 200 символов.

    Table 2 Параметры темы (RocketMQ 5.x)

    Parameter

    Description

    Topic Name

    Имя темы.

    Имя темы должно соответствовать следующим требованиям:

    • Содержит от 3 до 64 символов.
    • Содержит только буквы, цифры, знаки процента (%), вертикальные черты (|), дефисы (-) и подчёркивания (_).

      Знак процента (%) или вертикальная черта (|), содержащиеся в имени темы, будут преобразованы в подчёркивание (_) сервисом Cloud Eye. Например, если имя темы test%01, оно будет отображаться как test_01 в Cloud Eye.

    • Не может начинаться с rmq_sys_.
    • Не может совпадать со следующими строками:
      • TBW102
      • SCHEDULE_TOPIC_XXXX
      • BenchmarkTest
      • RMQ_SYS_TRANS_HALF_TOPIC
      • RMQ_SYS_TRACE_TOPIC
      • RMQ_SYS_TRANS_OP_HALF_TOPIC
      • TRANS_CHECK_MAX_TIME_TOPIC
      • SELF_TEST_TOPIC
      • OFFSET_MOVED_EVENT

    • Имя темы должно быть уникальным. В противном случае тема не может быть создана.

    После создания темы изменить её имя нельзя.

    Message Type

    Выберите тип сообщения.

    Options:

    • Normal: Сообщения, не имеющие функций scheduled messages, ordered messages или transactional messages.
    • Scheduled: Сообщения, доставляемые потребителям только после определённого периода после отправки от продюсеров в DMS для RocketMQ.
    • Ordered: Сообщения, потребляемые в точном порядке их создания.
    • Transactional: Сообщения, обеспечивающие окончательную согласованность, предоставляющие распределённую обработку транзакций, аналогичную X/Open XA.

    Default: Normal

    Description

    Описание темы.

    Значение содержит от 0 до 200 символов.

  8. Нажмите OK.