Быстрый старт

В этой инструкции описано, как создать инстанс Distributed Message Service for RocketMQ и подключиться к нему через виртуальную машину ECS с SSL.

Перед началом работы

Выполните несколько шагов по подготовке окружения для DMS for RocketMQ.

Virtual Private Cloud

Virtual Private Cloud (VPC) предоставляет изолированную виртуальную сеть для инстансов RocketMQ.

Перед созданием инстанса убедитесь, что виртуальная сеть VPC и подсеть доступны. При необходимости создайте новую сеть VPC.

Если виртуальная сеть и подсеть для инстанса RocketMQ уже существуют, дополнительно их создавать не нужно.

Security Groups

Перед созданием инстанса убедитесь, что для него создана группа безопасности (Security Group). При необходимости создайте новую.

Если группа безопасности уже существует, дополнительно создавать ее не нужно.

Для работы с RocketMQ добавьте Inbound-правила группы безопасности со следующими параметрами:

Direction

Protocol

Port

Source

Description

Inbound

TCP

8100

0.0.0.0/0

Доступ внутри VPC к узлам метаданных

Inbound

TCP

10100-10199

0.0.0.0/0

Доступ к узлам сервисов

Эти правила нужны для работы инстансов DMS for RocketMQ. Остальные правила можно добавить в соответствии с требованиями вашего проекта.

Elastic Cloud Server

Для подключения к инстансу RocketMQ через Elastic Cloud Server (ECS):

  1. Создайте виртуальную машину с ОС Linux. Если виртуальная машина уже есть, перейдите к следующему шагу.

  2. Подключитесь к виртуальной машине.

  3. Обновите пакеты:

    sudo apt-get update
    
  4. Скачайте нужную версию JDK или JRE на официальном сайте разработчика.

    DMS for RocketMQ поддерживает версию JDK 1.8.111 и выше.

  5. Установите JDK или JRE на созданную ВМ и настройте переменные среды JAVA_HOME и PATH:

    export JAVA_HOME=/opt/java/jdk1.8.0_151
    export PATH=$JAVA_HOME/bin:$PATH
    

    Где /opt/java/jdk1.8.0_151 — путь установки JDK или JRE.

  6. Чтобы изменения вступили в силу, введите:

    source .bash_profile
    

Подготовка окружения для инстанса RocketMQ завершена.

Создание инстанса

  1. Войдите в консоль управления Advanced:

  2. Чтобы открыть список сервисов, нажмите Service List.

  3. В разделе Application выберите Distributed Message Service for RocketMQ.

  4. Нажмите Buy RocketMQ Instance.

  5. В поле AZ выберите зону доступности, в которой будет создан инстанс DMS for RocketMQ.

    Рекомендуется выбрать одну или три зоны доступности.

  6. В поле Instance Name задайте название инстанса.

  7. В поле Enterprise Project выберите проект, которому будет принадлежать инстанс.

  8. В поле Broker Flavor выберите спецификацию инстанса.

  9. В поле Brokers укажите количество брокеров.

  10. В поле Storage Space per Broker выберите тип и объем диска.

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

  11. В поле VPC выберите виртуальную сеть и подсеть, в которой будет расположен инстанс.

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

  12. В поле Security Group выберите группу безопасности, правила которой будут применены к инстансу.

  13. Оставьте опции SSL и ACL включенными.

  14. (Опционально) Если вам нужен доступ к RocketMQ из публичной сети, в разделе Advanced Settings активируйте параметр Public Access и в списке выберите IP-адрес, который нужно назначить инстансу.

  15. (Опционально) В поле Tags добавьте TMS-тег для инстанса при необходимости. Состоит из ключа (key) и значения (value). Можно назначить не более 20 тегов.

  16. (Опционально) В поле Description добавьте описание инстанса при необходимости. Может содержать не более 1 024 символов.

  17. Нажмите Buy.

  18. Проверьте конфигурацию и нажмите Submit.

Создание инстанса займет 3–15 минут. В это время он будет в статусе Creating. После создания статус изменится на Running.

Создание топика

Для начала работы с сообщениями в инстансе RocketMQ нужно создать топик.

  1. В консоли управления Distributed Message Service for RocketMQ нажмите на название созданного инстанса.

  2. Перейдите на вкладку Topics.

  3. Нажмите Create Topic.

  4. В поле Topic Name задайте название топика.

    Оно должно быть уникальным. После создания его нельзя изменить.

  5. В поле Permission настройте права — Publish/Subscribe, Publish или Subscribe.

  6. В поле Brokers укажите брокер, на котором будет создан топик, и количество очередей Queues в топике.

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

  7. Нажмите OK.

Подключение к инстансу RocketMQ с SSL

Чтобы подключиться к инстансу RocketMQ:

  1. Подключитесь к виртуальной машине ECS.

  2. Скачайте тестовый брокер:

    wget https://dms-demo.obs.ru-moscow-1.hc.sbercloud.ru/rocketmq-tutorial.zip
    
  3. Распакуйте архив:

    unzip rocketmq-tutorial.zip
    
  4. Перейдите в распакованный каталог:

    cd rocketmq-tutorial/bin
    
  5. Создайте сообщение:

    JAVA_OPT=-Dtls.enable=true sh mqadmin sendMessage -n "${Connection addresses}" -t ${Topic name} -p "hello rocketmq"
    

    Где:

    • Connection addresses — IP-адрес инстанса RocketMQ.

    • Topic name — название топика, созданного в инстансе RocketMQ.

  6. Прервите создание сообщений комбинацией клавиш Ctrl + C.

  7. Получите сообщение:

    JAVA_OPT=-Dtls.enable=true sh mqadmin consumeMessage -n "${Connection addresses}" -t ${Topic name}
    

    Где:

    • Connection addresses — IP-адрес инстанса RocketMQ.

    • Topic name — название топика, созданного в инстансе RocketMQ.

  8. Прервите получение сообщений комбинацией клавиш Ctrl + C.

Подключение к инстансу RocketMQ выполнено.

Запустили Evolution free tier
для Dev & Test
Получить