В этом документе рассматривается пример создания экземпляра RocketMQ с включённым SSL и доступа к нему с клиента в той же VPC, что и экземпляр, через частную сеть для отправки и получения сообщений, чтобы быстро начать работу с Distributed Message Service (DMS) для RocketMQ.
Figure 1 Процедура использования DMS for RocketMQ

Экземпляр RocketMQ работает в VPC. Перед созданием экземпляра RocketMQ убедитесь, что VPC доступна.
Включите SSL, отключите ACL и настройте созданные VPC, подсеть и группу безопасности.
После создания экземпляра создайте топик для отправки и получения сообщений.
На клиенте подключитесь к экземпляру и используйте команды для отправки и получения сообщений.
Требуется разрешение администратора RocketMQ DMS FullAccess. Подробности см. Creating an IAM User and Granting DMS for RocketMQ Permissions.
VPC должен быть создан в том же регионе, что и экземпляр RocketMQ.
Экземпляр RocketMQ работает в Virtual Private Cloud (VPC). Прежде чем создавать экземпляр, убедитесь, что VPC доступен. Подробную информацию о том, как создать VPC и подсеть, см. "Creating a VPC" в Virtual Private Cloud User Guide.
См. "Creating a Security Group" в Virtual Private Cloud User Guide.
Чтобы подключиться к экземплярам RocketMQ, добавьте правила группы безопасности, описанные в Table 1.
Направление | Протокол | Порт | Источник | Описание |
|---|---|---|---|---|
Входящий | TCP | 8100 | IP-адрес или диапазон IP-адресов клиента RocketMQ | Порт используется для доступа к узлам метаданных через частную сеть с использованием TCP. |
Inbound | TCP | 10100–10199 | Порт используется для доступа к узлам сервиса с использованием TCP. |
После создания группы безопасности её правило входящего трафика по умолчанию позволяет взаимодействовать между ECS в группе безопасности, а правило исходящего трафика по умолчанию разрешает весь исходящий трафик. В этом случае вы можете получить доступ к экземпляру RocketMQ в VPC и не нужно добавлять правила согласно Table 1.
Ниже приведён пример с Linux ECS. Для получения дополнительной информации о том, как установить JDK и настроить переменные среды для Windows ECS, выполните поиск в Интернете.
в левом верхнем углу, нажмите Elastic Cloud Server в разделе Computing, затем создайте ECS.Подробности см. в Creating an ECS. Если у вас уже есть доступный ECS, пропустите этот шаг.
Используйте Oracle JDK вместо JDK по умолчанию в ECS (например, OpenJDK), так как он может не подходить для примера проекта. Получите Oracle JDK 1.8.111 или более новую версию с Oracle's official website.
tar -zxvf jdk-8u321-linux-x64.tar.gz
Замените jdk-8u321-linux-x64.tar.gz на вашу версию JDK.
vim ~/.bash_profile
export JAVA_HOME=/opt/java/jdk1.8.0_321export PATH=$JAVA_HOME/bin:$PATH
Измените /opt/java/jdk1.8.0_321 на путь, где установлен JDK.
:wq
source .bash_profile
java -version
Если отображается следующая информация, JDK установлен успешно:
Перед загрузкой примерного программного пакета убедитесь, что клиентский сервер может получить доступ к Интернету.
wget https://dms-demo.obs.ru-moscow-1.hc.sbercloud.ru/rocketmq-tutorial.zip
unzip rocketmq-tutorial.zip
Перед использованием RocketMQ для производства и потребления сообщений создайте RocketMQ instance. Ресурс VM в instance хранит темы.
Parameter | Description |
|---|---|
Billing Mode | Выберите режим оплаты инстанса. Выберите Pay-per-use. С вас будет взиматься плата за продолжительность использования. Плата рассчитывается в секундах и выставляется почасово. |
Region | Для снижения сетевой задержки и более быстрого доступа к вашим ресурсам выберите ближайший регион. Select RU-Moscow. |
Project | Проекты изолируют вычислительные, хранилищные и сетевые ресурсы между географическими регионами. Для каждого региона доступен предустановленный проект. Select RU-Moscow (default). |
AZ | Выберите одну AZ или не менее трёх AZ. |
Instance Name | Введите имя инстанса, например, rocketmq-test. |
Enterprise Project | Enterprise проект управляет ресурсами проекта в группах. Enterprise проекты логически изолированы. Выберите "default". Этот параметр предназначен для enterprise пользователей. |
Version | Выберите версию инстанса. Выберите 4.8.0. Фиксируется после создания инстанса RocketMQ. Используйте ту же версию, что и ваш клиент. |
Architecture | Выберите архитектуру инстанса. Выберите Cluster здесь. |
Broker Flavor | Выберите Флейвор инстанса. Выберите rocketmq.4u8g.cluster здесь. |
Brokers | Укажите количество брокеров инстанса. Введите 1 здесь. |
Объём хранения на Broker | Укажите тип диска и объём хранения на брокер для хранения данных RocketMQ. Выберите Ultra-high I/O и введите 300. Общий объём хранения инстанса = Объём хранения на брокер × Количество брокеров |
VPC | Выберите VPC и подсеть. Здесь выберите те, которые созданы в Step 1: Preparations. |
Security Group | Выберите группу безопасности. Здесь выберите ту, которая была создана в Step 1: Preparations. |
SSL | Доступ к шифртексту с высокой безопасностью, но более низкой производительностью. Выберите SSL. |
ACL | Включение ACL позволяет управлять правами на производство и потребление сообщений. Не включайте его здесь. |
More Settings | |
Public Access | Для включения public access требуются EIPs. Не включайте его здесь. |
Tags | Идентификаторы инстанса RocketMQ. Пропустите их здесь. |
Description | Дополнительная информация об инстансе. Пропустите её. |
Создание инстанса занимает от 3 до 15 минут. В течение этого периода статус инстанса Creating.
Адрес подключения инстанса RocketMQ по умолчанию отображает доменное имя. Наведите курсор на доменное имя и запишите IP‑адрес, отображаемый во всплывающем окне.
Тема является базовой единицей для отправки и получения сообщений. После создания инстанса RocketMQ необходимо вручную создавать темы перед созданием и получением сообщений.
Параметр | Описание |
|---|---|
Topic Name | Введите имя темы. Введите Topic01 здесь. |
Permission | Разрешения темы. Выберите Publish/Subscribe здесь. Производители могут публиковать сообщения в эту тему, а потребители — получать сообщения из этой темы. |
Brokers | Связанные брокеры. Выберите broker-0 здесь и введите 3 очередей. |
Description | Дополнительная информация о теме. Пропустите её. |
cd rocketmq-tutorial/bin
Ниже приведён пример команды:

Ниже приведён пример команды:

Содержимое BODY — это содержимое потребляемого сообщения.
Чтобы остановить потребление сообщений, нажмите Ctrl+C для выхода.