EMQX — это самая масштабируемая и надежная MQTT-платформа в мире, разработанная для высокопроизводительной, надежной и безопасной инфраструктуры данных IoT. Она поддерживает MQTT 5.0, 3.1.1 и 3.1, а также другие протоколы, такие как MQTT-SN, CoAP, LwM2M и MQTT через QUIC. EMQX позволяет подключать миллионы устройств IoT, обрабатывать и маршрутизировать сообщения в режиме реального времени, а также интегрироваться с широким спектром систем хранения и обработки данных. Он идеально подходит для приложений в области искусственного интеллекта, IoT, промышленного IoT (IIoT), подключенных транспортных средств, умных городов и т. д.
Начиная с версии 5.9.0, EMQX объединила все функции предыдущих версий Open Source и Enterprise в единое мощное предложение с лицензией Business Source License (BSL) 1.1.
Если вы хотите понять, почему мы внесли это изменение, прочтите эту запись в блоге.
Пожалуйста, перейдите в раздел Лицензия для получения более подробной информации о BSL 1.1.
EMQX предоставляет мощный набор возможностей для современных подключенных систем:
- Полная поддержка MQTT v5.0, v3.1.1 и v3.1.
- MQTT через QUIC: используйте преимущества QUIC для более быстрого установления соединения, уменьшения блокировки начала очереди и бесшовной миграции соединения.
- Поддержка других протоколов IoT, таких как LwM2M, CoAP, MQTT-SN и других, через шлюзы.
- Подключение более 100 миллионов одновременных MQTT-клиентов к одному кластеру.
- Обработка миллионов сообщений в секунду с задержкой менее миллисекунды.
- Кластеризация без ведущего узла для высокой доступности и отказоустойчивости.
- Бесшовная глобальная связь с помощью EMQX Cluster Linking.
- Механизм правил на основе SQL для обработки, преобразования, обогащения и фильтрации данных в реальном времени.
- Бесшовная передача данных и интеграция с более чем 50 облачными сервисами и корпоративными системами, включая:
- Очереди сообщений: Kafka, RabbitMQ, Pulsar, RocketMQ и т. д.
- Базы данных: PostgreSQL, MySQL, MongoDB, Redis, ClickHouse, InfluxDB и т. д.
- Облачные сервисы: AWS Kinesis, GCP Pub/Sub, Azure Event, Confluent Cloud и другие.
- Поддержка веб-хуков для простой интеграции с пользовательскими сервисами.
- Визуальный редактор с возможностью организации потоков данных в реальном времени без написания кода, с использованием узлов для правил, интеграций и задач ИИ.
- Реестр схем (Schema Registry): Определяйте, храните и управляйте схемами данных для обеспечения их согласованности.
- Проверка схем (Schema Validation): Проверяйте входящие данные на соответствие зарегистрированным схемам для поддержания целостности данных.
- Преобразование сообщений (Message Transformation): Конвертируйте данные между различными форматами и структурами для облегчения бесшовной интеграции.
- Встроенные возможности обработки данных IoT потоков с помощью ИИ.
- Интеграция с популярными сервисами ИИ.
- Поддержка принятия решений на основе ИИ на периферии или в облаке.
Надежная защита
- Безопасные соединения с использованием TLS/SSL и WSS.
- Гибкие механизмы аутентификации: имя пользователя/пароль, JWT, PSK, сертификаты X.509 и т. д.
- Детальный контроль доступа с помощью ACL.
- Интеграция с внешними базами данных аутентификации (LDAP, SQL, Redis).
- Комплексный мониторинг с помощью Prometheus, Grafana, Datadog и OpenTelemetry.
- Подробные возможности ведения журналов и трассировки.
- Удобная панель управления (Dashboard) для обзора и управления кластером.
- Богатый HTTP API для автоматизации и интеграции со сторонними системами.
- Архитектура плагинов для расширения функциональности.
- Хуки (Hooks) для настройки поведения на различных этапах жизненного цикла сообщения.
- С лицензией BSL 1.1 (начиная с версии 5.9.0) все функции, включая те, которые ранее были эксклюзивными для корпоративной версии, доступны всем разработчикам.
Самый простой способ настроить EMQX — это развернуть его с помощью EMQX Cloud. Вы можете попробовать EMQX Cloud бесплатно.
docker run -d --name emqx \
-p 1883:1883 -p 8083:8083 -p 8084:8084 \
-p 8883:8883 -p 18083:18083 \
emqx/emqx-enterprise:latestДалее следуйте инструкциям в руководстве по установке EMQX с помощью Docker.
Пожалуйста, обратитесь к официальной документации EMQX Operator для получения подробной информации.
Если вы предпочитаете устанавливать и управлять EMQX самостоятельно, вы можете загрузить последнюю версию с официального сайта.
Дополнительные варианты установки см. в документации по установке EMQX.
- EMQX (развертывание на собственных серверах/ресурсах): docs.emqx.com/en/emqx/latest.
- EMQX Cloud: docs.emqx.com/en/cloud/latest.
Пожалуйста, ознакомьтесь с нашим руководством по участию в разработке.
Для более организованных предложений по улучшению вы можете отправлять пулл-реквесты в EIP.
- Следите за нами в: X, YouTube.
- Задавайте вопросы: Обсуждения GitHub или Сообщество EMQX в Slack.
- Сообщайте об ошибках: Проблемы GitHub.
- Discord: Сервер EMQX в Discord.
- Веб-сайт EMQX: emqx.com
- Блог EMQX: emqx.com/en/blog
- Программирование MQTT-клиентов: Учебные пособия
- MQTT SDK: Популярные SDK
- Кроссплатформенный клиент MQTT: MQTTX
Ветка master отслеживает последнюю версию 5.
- EMQX 5.4 и новее можно собрать с помощью OTP 25 или 26.
- EMQX 5.9+ можно собрать с помощью OTP 27.
git clone [https://github.com/emqx/emqx.git](https://github.com/emqx/emqx.git)
cd emqx
make
_build/emqx-enterprise/rel/emqx/bin/emqx consoleДля версий 4.2 или более ранних релиз должен быть собран из другого репозитория.
git clone [https://github.com/emqx/emqx-rel.git](https://github.com/emqx/emqx-rel.git)
cd emqx-rel
make
_build/emqx/rel/emqx/bin/emqx consoleНиже приведена матрица поддерживаемых путей последовательного обновления с версии 5.0.
- Номера версий, заканчивающиеся на
?, например6.0?, являются будущими выпусками. - ✅: Поддерживается или планируется поддержка.
⚠️ : Возможны проблемы, требующие ручного решения.- ❌: Не поддерживается.
- 🔄: Предварительная поддержка для будущих версий.
Подробную информацию см. в примечаниях к релизу.
| С \ На | 5.1 | 5.2 | 5.3 | 5.4 | 5.5 | 5.6 | 5.7 | 5.8 | 5.9 | 5.10? | 6.0? |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 5.0 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌[2] | ❌[2] | |
| 5.1 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌[2] | ❌[2] |
| 5.2 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌[2] | ❌[2] | |
| 5.3 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌[2] | ❌[2] | ||
| 5.4 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 🔄 | ||||
| 5.5 | ✅ | ✅ | ✅ | ✅ | ✅ | 🔄 | |||||
| 5.6 | ✅ | ✅ | ✅ | ✅ | ✅ | 🔄 | |||||
| 5.7 | ✅ | ✅ | ✅ | ✅ | 🔄 | ||||||
| 5.8 | ✅ | ✅ | ✅ | 🔄 | |||||||
| 5.9 | ✅ | ✅ | ✅ | ||||||||
| 5.10? | ✅ | ✅ | |||||||||
| 6.0? | ✅ |
- [1] Старые конфигурации ограничителя должны быть удалены из конфигурационных файлов (
etc/emqx.confиdata/configs/cluster-override.conf) перед обновлением. - [2] Таблица маршрутизации до версии 5.4 будет удалена. Сначала обновитесь до версии 5.9, затем выполните полный перезапуск кластера (не последовательный) перед обновлением до версии 5.10 или более поздней.
Начиная с версии 5.9.0, EMQX перешла с Apache 2.0 на Business Source License (BSL) 1.1.
Начиная с EMQX v5.9.0, из-за изменения лицензии и объединения всех функций, для развертывания кластера EMQX (более 1 узла) требуется загрузка файла лицензии.
Пожалуйста, обратитесь к следующим ресурсам для получения подробной информации о приобретении лицензии, ее применении и особенностях BSL 1.1.