В этом разделе приведён пример, который поможет вам начать работу с DMS for RabbitMQ. Пример создаёт RabbitMQ instance с отключённым SSL и получает к нему доступ через частную сеть на клиенте внутри VPC. В результате сообщения могут быть произведены и потреблены.
Рисунок 1Процедура использования DMS for RabbitMQ

RabbitMQ instance работает в Virtual Private Cloud (VPC). Перед созданием RabbitMQ instance убедитесь, что VPC доступна.
При создании RabbitMQ instance вы можете выбрать характеристики и количество.
Клиент подключается к instance с отключённым SSL, используя демонстрацию, предоставленную RabbitMQ.
Для обеспечения детального управления вашими облачными ресурсами создайте группы пользователей и пользователей Identity and Access Management (IAM) и предоставьте указанным пользователям соответствующие разрешения. Для получения дополнительной информации см. Creating an IAM User and Granting DMS for RabbitMQ Permissions.
Перед созданием RabbitMQ instance убедитесь, что VPC и подсеть доступны. Подробную информацию о том, как создать VPC и подсеть, см. Creating a VPC with a Subnet.
VPC must быть создана в same регионе, где находится RabbitMQ instance.
Прежде чем создавать инстанс RabbitMQ, убедитесь, что доступна группа безопасности. Для получения подробной информации о том, как создать группу безопасности, см. Creating a Security Group.
Группа безопасности необходимо должна быть создана в том же регионе, что и инстанс RabbitMQ.
Чтобы подключиться к инстансам RabbitMQ, добавьте правила группы безопасности, описанные в Table 1. Другие правила могут быть добавлены в соответствии с требованиями сайта.
Направление | Протокол | Порт | Исходный адрес | Описание |
|---|---|---|---|---|
Входящий | TCP | 5672 | 0.0.0.0/0 | Подключение к инстансу RabbitMQ (SSL отключён) |
После создания группы безопасности в ней присутствует правило входящего трафика по умолчанию, позволяющее взаимодействовать ECS внутри группы безопасности, и правило исходящего трафика по умолчанию, позволяющее весь исходящий трафик. Если вы подключаетесь к вашему инстансу RabbitMQ через частную сеть внутри VPC, добавлять правила, описанные в Table 1, не требуется.
В этом разделе используется Linux Elastic Cloud Server (ECS) в качестве клиента. Перед созданием экземпляра RabbitMQ создайте ECS с elastic IPs (EIPs), установите JDK и настройте переменные среды. Для получения подробной информации о том, как создать ECS, см. Creating an ECS. Если у вас уже есть доступный ECS, пропустите этот шаг. Используйте Oracle JDK вместо JDK по умолчанию в ECS (например, OpenJDK), поскольку JDK по умолчанию в ECS может быть неподходящим. Получите Oracle JDK 1.8.111 or later с официального сайта Oracle. Замените jdk-8u321-linux-x64.tar.gz на вашу версию JDK. Замените /root/jdk1.8.0_321 на путь, где вы установили JDK. Если возвращено следующее сообщение, JDK установлен.
в левом верхнем углу, нажмите Elastic Cloud Server в разделе Computing, затем создайте ECS.
Параметр | Описание |
|---|---|
Режим биллинга | Выберите Pay-per-use, который является постоплатным режимом. Вы можете оплатить после использования сервиса, и вам будет выставлен счет за продолжительность использования. Плата рассчитывается в секундах и начисляется почасово. |
Регион | DMS for RabbitMQ в разных регионах не могут взаимодействовать друг с другом через интранет. Выберите ближайшее расположение для низкой задержки и быстрого доступа. Выберите RU-Moscow. |
Проект | Проекты изолируют вычислительные, хранилищные и сетевые ресурсы между географическими регионами. Для каждого региона доступен предустановленный проект. Выберите RU-Moscow (по умолчанию). |
AZ | AZ — это физический регион, в котором ресурсы используют независимое электропитание и сети. AZ физически изолированы, но соединены через внутреннюю сеть. Выберите AZ1. |
Instance Name | Вы можете задать имя, соответствующее правилам: 4–64 символа; начинается с буквы; может содержать только буквы, цифры, дефисы (-) и подчёркивания (_). Введите "rabbitmq-test". |
Enterprise Project | Этот параметр предназначен для enterprise‑пользователей. Enterprise Project управляет ресурсами проекта в группах. Enterprise projects логически изолированы. Выберите default. |
Version | Версия RabbitMQ. Выберите 3.8.35. |
Architecture | Выберите Single-node, что указывает на развертывание брокера RabbitMQ. |
Broker Flavor | Выберите требуемый флейвор брокера. Выберите rabbitmq.2u4g.single. |
Brokers | Фиксировано, а значение по умолчанию — 1. |
Объём хранения на брокер | Выберите тип диска и укажите размер диска по требованию. Общий объём хранения = Объём хранения на брокер × Количество брокеров. Тип диска нельзя изменить после создания instance. Выберите Ultra-high I/O и введите 100. |
Parameter | Description |
|---|---|
SSL | Пропустить. |
Username | Введите имя пользователя, используемое для доступа к instance. Имя пользователя должно содержать от 4 до 64 символов, начинаться с буквы и включать только буквы, цифры, дефисы (-) и подчёркивания (_). Введите "test". |
Password | Введите пароль, используемый для доступа к instance. Пароль должен соответствовать следующим требованиям:
|
Создание instance занимает от 3 до 15 минут. В течение этого периода статус instance — Creating.
Рисунок 2 Connection address

wget https://dms-demo.obs.ru-moscow-1.hc.sbercloud.ru/RabbitMQ-Tutorial.zip
/root является путем для хранения кода примера проекта. При необходимости измените его на фактический путь.
unzip RabbitMQ-Tutorial.zip
cd RabbitMQ-Tutorial
java -cp .:rabbitmq-tutorial.jar Send ${host} ${port} ${user} ${password}
Описание:
Пример отправки сообщений:
[root@ecs-test RabbitMQ-Tutorial]# java -cp .:rabbitmq-tutorial.jar Send 192.168.xx.40 5672 test Zxxxxxxs[x] Sent 'Hello World!'[root@ecs-test RabbitMQ-Tutorial]# java -cp .:rabbitmq-tutorial.jar Send 192.168.xx.40 5672 test Zxxxxxxs[x] Sent 'Hello World!'
java -cp .:rabbitmq-tutorial.jar Recv ${host} ${port} ${user} ${password}
Описание:
Пример потребления сообщения:
[root@ecs-test RabbitMQ-Tutorial]# java -cp .:rabbitmq-tutorial.jar Recv 192.168.xx.40 5672 test Zxxxxxxs[*] Waiting for messages. To exit press CTRL+C[x] Received 'Hello World!'[x] Received 'Hello World!'
Нажмите Ctrl+C, чтобы отменить.