{"id":13435112,"url":"https://github.com/emqx/emqx","last_synced_at":"2026-01-17T08:45:21.399Z","repository":{"id":5980637,"uuid":"7202769","full_name":"emqx/emqx","owner":"emqx","description":"The most scalable MQTT broker for AI, IoT, IIoT, and connected vehicles","archived":false,"fork":false,"pushed_at":"2025-05-06T19:32:18.000Z","size":93552,"stargazers_count":14730,"open_issues_count":200,"forks_count":2300,"subscribers_count":388,"default_branch":"master","last_synced_at":"2025-05-07T05:46:39.181Z","etag":null,"topics":["aiot","broker","coap","emqx","erlang","iiot","industry-40","iot","iot-middleware","lorawan","lwm2m","m2m","manufacturing","message-queue","messaging","mqtt","mqtt-broker","mqtt-protocol","mqtt-server","pubsub"],"latest_commit_sha":null,"homepage":"https://www.emqx.com/","language":"Erlang","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emqx.png","metadata":{"files":{"readme":"README-CN.md","changelog":"changes/ce/.gitkeep","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2012-12-17T10:07:44.000Z","updated_at":"2025-05-06T20:44:04.000Z","dependencies_parsed_at":"2024-02-18T03:22:00.983Z","dependency_job_id":"f827a3f7-3b6d-4232-ac0c-8a43b3704eba","html_url":"https://github.com/emqx/emqx","commit_stats":{"total_commits":17728,"total_committers":177,"mean_commits":"100.15819209039547","dds":0.8513650722021661,"last_synced_commit":"041f0c578a0604032a2f8481f51bf03d16e11eaa"},"previous_names":["emqtt/emqtt","emqtt/emqttd"],"tags_count":706,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emqx%2Femqx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emqx%2Femqx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emqx%2Femqx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emqx%2Femqx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emqx","download_url":"https://codeload.github.com/emqx/emqx/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254078661,"owners_count":22011015,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aiot","broker","coap","emqx","erlang","iiot","industry-40","iot","iot-middleware","lorawan","lwm2m","m2m","manufacturing","message-queue","messaging","mqtt","mqtt-broker","mqtt-protocol","mqtt-server","pubsub"],"created_at":"2024-07-31T03:00:32.736Z","updated_at":"2025-12-16T18:48:56.127Z","avatar_url":"https://github.com/emqx.png","language":"Erlang","funding_links":[],"categories":["消息队列","Erlang","Brokers","硬件_其他","Protocol Library","Table of Contents","IoT","Streaming \u0026 Messaging","十四、网络协议库（MQTT为主）","Projects"],"sub_categories":["Talks","网络服务_其他","MQTT","Software","Pub/Sub","实用工具","Message Broker"],"readme":"# EMQX\n\n[![GitHub Release](https://img.shields.io/github/release/emqx/emqx?color=brightgreen\u0026label=Release)](https://github.com/emqx/emqx/releases)\n[![Build Status](https://github.com/emqx/emqx/actions/workflows/_push-entrypoint.yaml/badge.svg)](https://github.com/emqx/emqx/actions/workflows/_push-entrypoint.yaml)\n[![Slack](https://img.shields.io/badge/Slack-EMQ-39AE85?logo=slack)](https://slack-invite.emqx.io/)\n[![Discord](https://img.shields.io/discord/931086341838622751?label=Discord\u0026logo=discord)](https://discord.gg/xYGf3fQnES)\n[![X](https://img.shields.io/badge/Follow-EMQ-1DA1F2?logo=x)](https://x.com/EMQTech)\n[![Community](https://img.shields.io/badge/Community-EMQX-yellow)](https://askemq.com)\n[![YouTube](https://img.shields.io/badge/Subscribe-EMQ%20中文-FF0000?logo=youtube)](https://www.youtube.com/channel/UCir_r04HIsLjf2qqyZ4A8Cg)\n\nEMQX 是全球最具扩展性和可靠性的 MQTT 平台，专为高性能、高可靠、高安全的物联网数据基础设施而设计。它支持 MQTT 5.0、3.1.1 和 3.1，以及 MQTT-SN、CoAP、LwM2M 和 MQTT over QUIC 等其他协议。EMQX 允许您连接数百万物联网设备，实时处理和路由消息，并与广泛的后端数据系统集成。它非常适合人工智能、物联网、工业物联网 (IIoT)、车联网、智慧城市等应用。\n\n**自 v5.9.0 起，EMQX 已将先前开源版和企业版的所有功能统一到一个采用 Business Source License (BSL) 1.1 的强大产品中。**\n\n如果您想了解我们为何做出此更改，请阅读此[博客文章](https://www.emqx.com/zh/news/emqx-adopts-business-source-license)。\n\n有关 BSL 1.1 的更多详细信息，请参阅[许可证](#许可证)部分。\n\n## 核心功能\n\nEMQX 为新一代物联网系统提供了一系列强大的功能：\n\n### 全面的协议支持\n- 完全支持 MQTT v5.0、v3.1.1 和 v3.1。\n- [MQTT over QUIC](https://docs.emqx.com/zh/emqx/latest/mqtt-over-quic/introduction.html)：利用 QUIC 的优势实现更快的连接建立、减少队头阻塞以及无缝的连接迁移。\n- 通过[网关](https://docs.emqx.com/zh/emqx/latest/gateway/gateway.html)支持 [LwM2M](https://docs.emqx.com/zh/emqx/latest/gateway/lwm2m.html)、[CoAP](https://docs.emqx.com/zh/emqx/latest/gateway/coap.html)、[MQTT-SN](https://docs.emqx.com/zh/emqx/latest/gateway/mqttsn.html) 等其他物联网协议。\n\n### 海量扩展与高可用性\n- 单集群支持[连接](https://www.emqx.com/zh/solutions/iot-device-connectivity)超过 1 亿的并发 MQTT 客户端。\n- 以亚毫秒级延迟每秒[处理](https://www.emqx.com/zh/solutions/reliable-mqtt-messaging)数百万条消息。\n- [无主集群](https://docs.emqx.com/zh/emqx/latest/deploy/cluster/introduction.html)实现高可用性和容错能力。\n- 通过 [EMQX Cluster Linking](https://www.emqx.com/zh/solutions/cluster-linking) 实现无缝的全球通信。\n\n### 强大的规则引擎与数据集成\n- 基于 SQL 的[规则引擎](https://www.emqx.com/zh/solutions/mqtt-data-processing)用于处理、转换、丰富和过滤动态数据。\n- 与 50 多种云服务和企业系统无缝桥接和[集成](https://www.emqx.com/zh/solutions/mqtt-data-integration)数据，包括：\n    - **消息队列**：[Kafka](https://docs.emqx.com/zh/emqx/latest/data-integration/data-bridge-kafka.html)、[RabbitMQ](https://docs.emqx.com/zh/emqx/latest/data-integration/data-bridge-rabbitmq.html)、[Pulsar](https://docs.emqx.com/zh/emqx/latest/data-integration/data-bridge-pulsar.html)、[RocketMQ](https://docs.emqx.com/zh/emqx/latest/data-integration/data-bridge-rocketmq.html) 等。\n    - **数据库**：[PostgreSQL](https://docs.emqx.com/zh/emqx/latest/data-integration/data-bridge-pgsql.html)、[MySQL](https://docs.emqx.com/zh/emqx/latest/data-integration/data-bridge-mysql.html)、[MongoDB](https://docs.emqx.com/zh/emqx/latest/data-integration/data-bridge-mongodb.html)、[Redis](https://docs.emqx.com/zh/emqx/latest/data-integration/data-bridge-redis.html)、[ClickHouse](https://docs.emqx.com/zh/emqx/latest/data-integration/data-bridge-clickhouse.html)、[InfluxDB](https://docs.emqx.com/zh/emqx/latest/data-integration/data-bridge-influxdb.html) 等。\n    - **云服务**：[AWS Kinesis](https://docs.emqx.com/zh/emqx/latest/data-integration/data-bridge-kinesis.html)、[GCP Pub/Sub](https://docs.emqx.com/zh/emqx/latest/data-integration/data-bridge-gcp-pubsub.html)、[Azure Event Hubs](https://docs.emqx.com/zh/emqx/latest/data-integration/data-bridge-azure-event-hub.html)、[Confluent Cloud](https://docs.emqx.com/zh/emqx/latest/data-integration/confluent-sink.html) 等。\n- [Webhook](https://docs.emqx.com/zh/emqx/latest/data-integration/webhook.html) 支持，方便与自定义服务集成。\n\n### [Flow Designer](https://docs.emqx.com/zh/emqx/latest/flow-designer/introduction.html)\n- 拖放式画布，使用节点进行规则、集成和 AI 任务，无需编写代码即可编排实时数据流。\n\n### [Smart Data Hub](https://docs.emqx.com/zh/cloud/latest/data_hub/smart_data_hub.html)\n- [Schema Registry (模式注册表)](https://docs.emqx.com/zh/cloud/latest/data_hub/schema_registry.html)：定义、存储和管理数据模式以确保一致性。\n- [Schema Validation (模式验证)](https://docs.emqx.com/zh/cloud/latest/data_hub/schema_validation.html)：根据注册的模式验证传入数据以维护数据完整性。\n- [Message Transformation (消息转换)](https://docs.emqx.com/zh/cloud/latest/data_hub/message_transformation.html)：在不同格式和结构之间转换数据以促进无缝集成。\n\n### [AI 处理与集成](https://www.emqx.com/zh/solutions/artificial-intelligence):\n- 针对物联网数据流的原生 AI 处理能力。\n- 与流行的 AI 服务集成。\n- 支持在边缘或云端进行 AI 驱动的决策。\n\n### 可靠的[安全保障](https://www.emqx.com/zh/solutions/mqtt-security)\n- 使用 TLS/SSL 和 WSS 的[安全连接](https://docs.emqx.com/zh/emqx/latest/network/overview.html)。\n- 灵活的[身份验证](https://docs.emqx.com/zh/emqx/latest/access-control/authn/authn.html)机制：用户名/密码、JWT、PSK、X.509 证书等。\n- 使用 [ACL](https://docs.emqx.com/zh/emqx/latest/access-control/authz/authz.html) 进行精细的访问控制。\n- 与外部身份验证数据库（[LDAP](https://docs.emqx.com/zh/emqx/latest/access-control/authn/ldap.html)、[SQL](https://docs.emqx.com/zh/emqx/latest/access-control/authn/postgresql.html)、[Redis](https://docs.emqx.com/zh/emqx/latest/access-control/authn/redis.html)）集成。\n\n### 先进的可观察性与管理\n- 通过 [Prometheus](https://docs.emqx.com/zh/emqx/latest/observability/prometheus.html)、[Grafana](https://grafana.com/grafana/dashboards/17446-emqx/)、[Datadog](https://docs.emqx.com/zh/emqx/latest/observability/datadog.html) 和 [OpenTelemetry](https://docs.emqx.com/zh/emqx/latest/observability/opentelemetry/opentelemetry.html) 进行全面监控。\n- 详细的日志记录和[追踪](https://docs.emqx.com/zh/emqx/latest/observability/tracer.html)功能。\n- 用户友好的 [Dashboard](https://docs.emqx.com/zh/emqx/latest/dashboard/introduction.html)，用于集群概览和管理。\n- 丰富的 [HTTP API](https://docs.emqx.com/zh/emqx/latest/admin/api.html)，用于自动化和第三方集成。\n\n### 可扩展性\n- 用于扩展功能的[插件](https://docs.emqx.com/zh/emqx/latest/extensions/plugins.html)架构。\n- 用于在消息生命周期各个点自定义行为的[钩子 (Hooks)](https://docs.emqx.com/zh/emqx/latest/extensions/hooks.html)。\n\n### 统一体验\n- 采用 BSL 1.1 许可证（从 v5.9.0 开始），所有功能（包括以前企业版独有的功能）均对所有开发者可用。\n\n## 快速开始\n\n### 试用 EMQX Cloud\n\n使用 EMQX 最简单的方式是在 EMQX Cloud 创建一个全托管的部署。您可以[免费试用 EMQX Cloud](https://www.emqx.com/zh/signup?utm_source=github.com\u0026utm_medium=referral\u0026utm_campaign=emqx-readme-to-cloud\u0026continue=https://cloud.emqx.com/console/deployments/0?oper=new)，无需绑定信用卡。\n\n- [EMQX Serverless](https://www.emqx.com/zh/cloud/serverless-mqtt)\n- [EMQX Dedicated](https://www.emqx.com/zh/cloud/dedicated)\n- [EMQX BYOC](https://www.emqx.com/zh/cloud/byoc)\n\n### 使用 Docker 运行单节点\n\n```bash\ndocker run -d --name emqx \\\n  -p 1883:1883 -p 8083:8083 -p 8084:8084 \\\n  -p 8883:8883 -p 18083:18083 \\\n  emqx/emqx-enterprise:latest\n```\n\n接下来，请遵循 [使用 Docker 安装 EMQX](https://docs.emqx.com/zh/emqx/latest/deploy/install-docker.html) 指南获取进一步说明。\n\n### 在 Kubernetes 上运行 EMQX 集群\n\n请参考官方 [EMQX Operator 文档](https://docs.emqx.com/zh/emqx-operator/latest/getting-started/getting-started.html) 获取详细信息。\n\n### 下载 EMQX\n\n如果您倾向于自行安装和管理 EMQX，可以从[官网](https://www.emqx.com/zh/downloads-and-install/enterprise)下载最新版本。\n\n更多安装选项，请参阅 [EMQX 安装文档](https://docs.emqx.com/zh/emqx/latest/deploy/install.html)。\n\n## 文档\n\n- EMQX (本地部署)：[docs.emqx.com/zh/emqx/latest/](https://docs.emqx.com/zh/emqx/latest/)。\n- EMQX Cloud：[docs.emqx.com/zh/cloud/latest/](https://docs.emqx.com/zh/cloud/latest/)。\n\n## 贡献\n\n请参阅我们的[贡献指南](./CONTRIBUTING.md)。\n\n对于更系统的改进建议，您可以向 [EIP](https://github.com/emqx/eip) 提交拉取请求 (Pull Request)。\n\n## 社区\n\n- 访问 [EMQ 问答社区](https://askemq.com/) 以获取帮助，也可以分享您的想法或项目。\n- 提问：[GitHub Discussions](https://github.com/emqx/emqx/discussions) 或 [EMQX Community Slack](https://slack-invite.emqx.io/)。\n- 添加小助手微信号 `emqmkt`，加入 EMQ 微信技术交流群。\n- 加入我们的 [Discord](https://discord.gg/xYGf3fQnES)，参于实时讨论。\n- 关注我们的 [Bilibili](https://space.bilibili.com/522222081)，获取最新物联网技术分享。\n- 报告 Bug：[GitHub Issues](https://github.com/emqx/emqx/issues)。\n- 关注我们的 [微博](https://weibo.com/emqtt) 或 [X (原 Twitter)](https://x.com/EMQTech)，获取 EMQ 最新资讯。\n- 订阅我们的 [YouTube 频道](https://www.youtube.com/channel/UC5FjR77ErAxvZENEWzQaO5Q) (英文) 或 [EMQ 中文 YouTube 频道](https://www.youtube.com/channel/UCir_r04HIsLjf2qqyZ4A8Cg)。\n\n## 相关资源\n\n- EMQX 官网：[emqx.com/zh](https://www.emqx.com/zh)\n- EMQX 博客：[emqx.com/zh/blog](https://www.emqx.com/zh/blog)\n- MQTT 客户端编程：[教程](https://www.emqx.com/zh/blog/category/mqtt-programming)\n- MQTT SDK：[热门 SDK](https://www.emqx.com/zh/mqtt-client-sdk)\n- MQTT 工具：[MQTTX](https://mqttx.app/zh)\n- [车联网平台搭建从入门到精通](https://www.emqx.com/zh/blog/category/internet-of-vehicles)\n\n## 从源码构建\n\nmaster 分支追踪最新的版本 5。\n\n- EMQX 5.4 及更新版本可以使用 OTP 25 或 26 构建。\n- EMQX 5.9+ 可以使用 OTP 27 构建。\n\n```bash\ngit clone https://github.com/emqx/emqx.git\ncd emqx\nmake\n_build/emqx-enterprise/rel/emqx/bin/emqx console\n```\n\n对于 4.2 或更早的版本，release 版本必须从另一个仓库构建。\n\n```bash\ngit clone https://github.com/emqx/emqx-rel.git\ncd emqx-rel\nmake\n_build/emqx/rel/emqx/bin/emqx console\n```\n\n## 5.0 版本以来的滚动升级路径\n\n下表是自 5.0 版本以来支持的滚动升级路径。\n\n- 以 `?` 结尾的版本号（例如 `6.0?`）是未来的版本。\n- ✅: 支持，或计划支持。\n- ⚠️:  可能会遇到问题，需要手动解决。\n- ❌: 不支持。\n- 🔄: 未来版本的初步支持。\n\n详细信息请参阅版本说明。\n\n| 从\\到    | 5.1  | 5.2  | 5.3  | 5.4  | 5.5  | 5.6  | 5.7  | 5.8  | 5.9   | 5.10? | 6.0?  |\n|----------|------|------|------|------|------|------|------|------|-------|-------|-------|\n| 5.0      | ✅   | ✅   | ✅   | ✅   | ✅   | ✅   | ✅   | ✅   | ⚠️[1]  | ❌[2] | ❌[2] |\n| 5.1      | ✅   | ✅   | ✅   | ✅   | ✅   | ✅   | ✅   | ✅   | ✅    | ❌[2] | ❌[2] |\n| 5.2      |      | ✅   | ✅   | ✅   | ✅   | ✅   | ✅   | ✅   | ✅    | ❌[2] | ❌[2] |\n| 5.3      |      |      | ✅   | ✅   | ✅   | ✅   | ✅   | ✅   | ✅    | ❌[2] | ❌[2] |\n| 5.4      |      |      |      | ✅   | ✅   | ⚠️    | ✅   | ✅   | ✅    | ✅    | 🔄    |\n| 5.5      |      |      |      |      | ✅   | ⚠️    | ✅   | ✅   | ✅    | ✅    | 🔄    |\n| 5.6      |      |      |      |      |      | ✅   | ✅   | ✅   | ✅    | ✅    | 🔄    |\n| 5.7      |      |      |      |      |      |      | ✅   | ✅   | ✅    | ✅    | 🔄    |\n| 5.8      |      |      |      |      |      |      |      | ✅   | ✅    | ✅    | 🔄    |\n| 5.9      |      |      |      |      |      |      |      |      | ✅    | ✅    | ✅    |\n| 5.10?    |      |      |      |      |      |      |      |      |       | ✅    | ✅    |\n| 6.0?     |      |      |      |      |      |      |      |      |       |       | ✅    |\n\n- [1] 升级前应从配置文件（`etc/emqx.conf` 和 `data/configs/cluster-override.conf`）中删除旧的 limiter 配置。\n- [2] 5.4 版本之前的路由表将被删除。请先升级到 5.9 版本，然后在升级到 5.10 或更高版本之前执行一次全集群重启（非滚动重启）。\n\n## 许可证\n\n### 重要许可证更新\n\n自 **5.9.0** 版本起，EMQX 已从 Apache 2.0 迁移到 Business Source License (BSL) 1.1。\n\n### 集群部署的许可证要求 (v5.9.0+)\n\n从 EMQX v5.9.0 开始，由于许可证变更和所有功能的统一，部署 EMQX 集群（超过 1 个节点）需要加载许可证文件。\n\n有关许可证获取、申请以及 BSL 1.1 的具体细节，请参阅以下资源：\n\n- **新闻**：[EMQX 采用 Business Source License](https://www.emqx.com/zh/news/emqx-adopts-business-source-license)\n- **博客**：[采用 Business Source License 加速 MQTT 和人工智能创新](https://www.emqx.com/zh/blog/adopting-business-source-license-to-accelerate-mqtt-and-ai-innovation)\n- **常见问题解答**：[EMQX 许可证常见问题解答](https://www.emqx.com/zh/content/license-faq)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femqx%2Femqx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femqx%2Femqx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femqx%2Femqx/lists"}