- tocdepth
2
Быстрый старт
В этой инструкции описано, как создать инстанс 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):
Создайте виртуальную машину с ОС Linux. Если виртуальная машина уже есть, перейдите к следующему шагу.
Обновите пакеты:
sudo apt-get update
Скачайте нужную версию JDK или JRE на официальном сайте разработчика.
DMS for RocketMQ поддерживает версию JDK 1.8.111 и выше.
Установите 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.Чтобы изменения вступили в силу, введите:
source .bash_profile
Подготовка окружения для инстанса RocketMQ завершена.
Создание инстанса
Войдите в консоль управления Advanced:
В списке сервисов выберите Distributed Message Service for RocketMQ.
Нажмите Buy RocketMQ Instance.
В поле AZ выберите зону доступности, в которой будет создан инстанс DMS for RocketMQ.
Рекомендуется выбрать одну или три зоны доступности.
В поле Instance Name задайте название инстанса.
В поле Enterprise Project выберите проект, которому будет принадлежать инстанс.
В поле Broker Flavor выберите спецификацию инстанса.
В поле Brokers укажите количество брокеров.
В поле Storage Space per Broker выберите тип и объем диска.
После создания инстанса эти параметры изменить нельзя.
В поле VPC выберите виртуальную сеть и подсеть, в которой будет расположен инстанс.
После создания инстанса эти параметры изменить нельзя.
В поле Security Group выберите группу безопасности, правила которой будут применены к инстансу.
Оставьте опции SSL и ACL включенными.
(Опционально) Если вам нужен доступ к RocketMQ из публичной сети, в разделе Advanced Settings активируйте параметр Public Access и в списке выберите IP-адрес, который нужно назначить инстансу.
(Опционально) В поле Tags добавьте TMS-тег для инстанса при необходимости. Состоит из ключа (key) и значения (value). Можно назначить не более 20 тегов.
(Опционально) В поле Description добавьте описание инстанса при необходимости. Может содержать не более 1 024 символов.
Нажмите Buy.
Проверьте конфигурацию и нажмите Submit.
Создание инстанса займет 3–15 минут. В это время он будет в статусе Creating. После создания статус изменится на Running.
Создание топика
Для начала работы с сообщениями в инстансе RocketMQ нужно создать топик.
В консоли управления Distributed Message Service for RocketMQ нажмите на название созданного инстанса.
Перейдите на вкладку Topics.
Нажмите Create Topic.
В поле Topic Name задайте название топика.
Оно должно быть уникальным. После создания его нельзя изменить.
В поле Permission настройте права — Publish/Subscribe, Publish или Subscribe.
В поле Brokers укажите брокер, на котором будет создан топик, и количество очередей Queues в топике.
Если инстанс развернут на нескольких брокерах, нажмите Add, чтобы добавить больше брокеров и задать количество очередей в топике.
Нажмите OK.
Подключение к инстансу RocketMQ с SSL
Чтобы подключиться к инстансу RocketMQ:
Скачайте тестовый брокер:
wget https://dms-demo.obs.ru-moscow-1.hc.sbercloud.ru/rocketmq-tutorial.zip
Распакуйте архив:
unzip rocketmq-tutorial.zip
Перейдите в распакованный каталог:
cd rocketmq-tutorial/bin
Создайте сообщение:
JAVA_OPT=-Dtls.enable=true sh mqadmin sendMessage -n "${Connection addresses}" -t ${Topic name} -p "hello rocketmq"
Где:
Connection addresses
— IP-адрес инстанса RocketMQ.Topic name
— название топика, созданного в инстансе RocketMQ.
Прервите создание сообщений комбинацией клавиш Ctrl + C.
Получите сообщение:
JAVA_OPT=-Dtls.enable=true sh mqadmin consumeMessage -n "${Connection addresses}" -t ${Topic name}
Где:
Connection addresses
— IP-адрес инстанса RocketMQ.Topic name
— название топика, созданного в инстансе RocketMQ.
Прервите получение сообщений комбинацией клавиш Ctrl + C.
Подключение к инстансу RocketMQ выполнено.
для Dev & Test