create emqx project

zhanghongtong baa9fd8255 chore(emqx_management): move emqx management to apps %!s(int64=5) %!d(string=hai) anos
.ci 2b9a702b70 test(ci): give parameters thru env variable, not sed %!s(int64=5) %!d(string=hai) anos
.github 7afeadd6fc chore(ci): run eunit test in github action %!s(int64=5) %!d(string=hai) anos
apps baa9fd8255 chore(emqx_management): move emqx management to apps %!s(int64=4) %!d(string=hai) anos
bin 98b319a0c0 Merge pull request #4190 from zmstone/refactor-assing-names-to-listeners %!s(int64=5) %!d(string=hai) anos
data 084ce97d41 fix(rel): rel_vsn renamed to release_version %!s(int64=5) %!d(string=hai) anos
deploy 74b7ea34d9 feat(bin): let cuttlefish read env var %!s(int64=5) %!d(string=hai) anos
etc 28f9b4d519 feat(peer_cert_as_clientid): peer_cert_as_clientid = cn | dn | crt | pem | md5 %!s(int64=5) %!d(string=hai) anos
include d437f9f228 chore(elvis): fix elvis warnings %!s(int64=5) %!d(string=hai) anos
lib-ce baa9fd8255 chore(emqx_management): move emqx management to apps %!s(int64=4) %!d(string=hai) anos
priv 3dfa9f45c4 Merge pull request #4183 from zmstone/merge-e4.2.4-to-dev-4.3.0 %!s(int64=5) %!d(string=hai) anos
scripts 6c21a9473a chore(build): Fail fast on old version OTP %!s(int64=5) %!d(string=hai) anos
src dd06d70bce refactor(build): Move parse_transform module to root app %!s(int64=4) %!d(string=hai) anos
test 6e0b53fbb9 fix(eunit): fix emqx_tls_lib_tests %!s(int64=5) %!d(string=hai) anos
vars 151d820058 feature(project): change to rebar3 umbrella project %!s(int64=5) %!d(string=hai) anos
.editorconfig 7f12db0180 add editorconfig for emqx %!s(int64=7) %!d(string=hai) anos
.gitignore 700fa71754 refactor(tls): abstract lib for tls options parsing %!s(int64=5) %!d(string=hai) anos
.tool-versions bc29a1f9c4 chore(dev): Pin asdf erlang 23.2.2 %!s(int64=5) %!d(string=hai) anos
CONTRIBUTING.md ca47dae699 docs: format contributing %!s(int64=5) %!d(string=hai) anos
LICENSE 94c3e69b44 Licensed under the Apache, Version 2.0 %!s(int64=10) %!d(string=hai) anos
Makefile b166ee5651 Merge pull request #4254 from zmstone/chore-build-fail-fast-if-otp-is-too-old %!s(int64=5) %!d(string=hai) anos
README-CN.md 61d73ea530 chore(dialyzer): optimize dialyzer run %!s(int64=5) %!d(string=hai) anos
README-JP.md c4d16c40a9 docs(dialyzer): use natural expression %!s(int64=5) %!d(string=hai) anos
README.md e283a3d165 docs(README.md): update Community section %!s(int64=5) %!d(string=hai) anos
build aadd1ba11a add shellcheck to ci (#4126) %!s(int64=5) %!d(string=hai) anos
docker.mk 617838cc49 build(docker): fix docker build error when image name not equal emqx %!s(int64=5) %!d(string=hai) anos
elvis.config aed58a14ee chore(build): rename lib-opensource to lib-ce for shorter name %!s(int64=5) %!d(string=hai) anos
pkg-vsn.sh d78b2b23c1 chore(build): update pkg version %!s(int64=5) %!d(string=hai) anos
rebar.config dd06d70bce refactor(build): Move parse_transform module to root app %!s(int64=4) %!d(string=hai) anos
rebar.config.erl dd06d70bce refactor(build): Move parse_transform module to root app %!s(int64=4) %!d(string=hai) anos

README-CN.md

EMQ X Broker

GitHub Release Build Status Coverage Status Docker Pulls Slack Invite Twitter

最棒的物联网 MQTT 开源团队期待您的加入

English | 简体中文 | 日本語

EMQ X 是一款完全开源,高度可伸缩,高可用的分布式 MQTT 消息服务器,适用于 IoT、M2M 和移动应用程序,可处理千万级别的并发客户端。

从 3.0 版本开始,EMQ X 完整支持 MQTT V5.0 协议规范,向下兼容 MQTT V3.1 和 V3.1.1,并支持 MQTT-SN、CoAP、LwM2M、WebSocket 和 STOMP 等通信协议。EMQ X 3.0 单集群可支持千万级别的 MQTT 并发连接。

安装

EMQ X 是跨平台的,支持 Linux、Unix、macOS 以及 Windows。这意味着 EMQ X 可以部署在 x86_64 架构的服务器上,也可以部署在 Raspberry Pi 这样的 ARM 设备上。

EMQ X Docker 镜像安装

docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx

二进制软件包安装

需从 EMQ X 下载 页面获取相应操作系统的二进制软件包。

从源码构建

3.0 版本开始,构建 EMQ X 需要 Erlang/OTP R21+。

git clone https://github.com/emqx/emqx-rel.git

cd emqx-rel && make

cd _rel/emqx && ./bin/emqx console

快速入门

# Start emqx
./bin/emqx start

# Check Status
./bin/emqx_ctl status

# Stop emqx
./bin/emqx stop

EMQ X 启动,可以使用浏览器访问 http://localhost:18083 来查看 Dashboard。

静态分析(Dialyzer)

分析所有应用程序
make dialyzer
要分析特定的应用程序,(用逗号分隔的应用程序列表)
DIALYZER_ANALYSE_APP=emqx_lwm2m,emqx_auth_jwt,emqx_auth_ldap make dialyzer

FAQ

访问 EMQ X FAQ 以获取常见问题的帮助。

产品路线

通过 EMQ X Roadmap uses Github milestones 参与跟踪项目进度。

社区、讨论、贡献和支持

你可通过以下途径与 EMQ 社区及开发者联系:

欢迎你将任何 bug、问题和功能请求提交到 emqx/emqx

MQTT 规范

你可以通过以下链接了解与查阅 MQTT 协议:

MQTT Version 3.1.1

MQTT Version 5.0

MQTT SN

开源许可

Apache License 2.0, 详见 LICENSE