create emqx project

Ivan Dyachkov e097ab628e build: add quotes around variables in action shell script 3 lat temu
.ci 7aa99b26b9 chore: add git commit hook for git-blame-ignore-revs 3 lat temu
.github e097ab628e build: add quotes around variables in action shell script 3 lat temu
apps 198ddda8bc docs(status_api): add remark about feature introduction versions 3 lat temu
bin b3a7fd26dc chore: stat to resolve script dir on macos and realpath otherwise 3 lat temu
changes a0cd344752 Merge pull request #9258 from sstrigler/master 3 lat temu
deploy 67da0a1479 chore: bump chart version to 5.0.10 3 lat temu
lib-ee deff429579 chore: unify default license references in fn 3 lat temu
rel 4cadb86b18 docs: fix typos 3 lat temu
scripts 881a91a788 ci: build elixir images for ce only 3 lat temu
.editorconfig 7f12db0180 add editorconfig for emqx 7 lat temu
.formatter.exs c14e8db869 style(format): format elixir files 4 lat temu
.gitattributes af69899619 chore: add a pre-commit hook to auto format erlang code 3 lat temu
.gitignore 554c4b4c3b build: stop trying to fetch rebar and build deps on each build 3 lat temu
.tool-versions 37a400ec25 chore: bump asdf erlang version 3 lat temu
APL.txt 7f49934216 chore: add BSL.txt 4 lat temu
CONTRIBUTING.md 56e2a9741f style: ensure newline at EOF for all files 4 lat temu
Dockerfile.ubuntu20.04.runner abb941d161 docs: remove port 8081 3 lat temu
Dockerfile.ubuntu20.04.runner.dockerignore b92708726a test: Dockerfile:s to build test images 3 lat temu
LICENSE 5bd1c4803c chore: Update license file 3 lat temu
Makefile dcab22458d build: always ensure rebar3 3 lat temu
NOTICE 2e94880bb6 docs: More EMQ X -> EMQX rename in descriptive strings 4 lat temu
PLUGIN.md 2e94880bb6 docs: More EMQ X -> EMQX rename in descriptive strings 4 lat temu
README-CN.md abb941d161 docs: remove port 8081 3 lat temu
README-JP.md a080c127a7 chore: `EMQ X` -> `EMQX` in icons 3 lat temu
README-RU.md abb941d161 docs: remove port 8081 3 lat temu
README.md abb941d161 docs: remove port 8081 3 lat temu
Windows.md 54367ea764 docs: add a note to Windows.md 3 lat temu
build 4e2aba33aa feat(mix): set `snk_kind` from `$kind` to `msg` in Mix build 3 lat temu
elvis.config 74c33cd4e5 feat(rule_engine): add jq function to the rule engine 3 lat temu
git-blame-ignore-revs 4c8016e76d chore(ignore-file): delete error commit hash 3 lat temu
mix.exs dbc9ae27c5 chore: update jq version in mix 3 lat temu
pkg-vsn.sh bc71149d79 chore: respect PKG_VSN in pkg-vsn.sh 3 lat temu
rebar.config 6c8936467e chore(ekka): Bump version to 0.13.6 3 lat temu
rebar.config.erl 2b3748304d chore: bump jq to v0.3.8 (remove -flat_namespace flag on Darwin) 3 lat temu

README-CN.md

EMQX

GitHub Release Build Status Coverage Status Docker Pulls Slack Discord Twitter Community YouTube

English | 简体中文 | 日本語 | русский

EMQX 是一款全球下载量超千万的大规模分布式物联网 MQTT 服务器,单集群支持 1 亿物联网设备连接,消息分发时延低于 1 毫秒。为高可靠、高性能的物联网实时数据移动、处理和集成提供动力,助力企业构建关键业务的 IoT 平台与应用。

EMQX 自 2013 年在 GitHub 发布开源版本以来,获得了来自 50 多个国家和地区的 20000 余家企业用户的广泛认可,累计连接物联网关键设备超过 1 亿台。

更多信息请访问 EMQX 官网

快速开始

EMQX Cloud

使用 EMQX 最简单的方式是在 EMQX Cloud 上创建完全托管的 MQTT 服务。免费试用 EMQX Cloud,无需绑定信用卡。

使用 Docker 运行 EMQX

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

接下来请参考 入门指南 开启您的 EMQX 之旅。

在 Kubernetes 上运行 EMQX 集群

请参考 EMQX Operator 文档

更多安装方式

您可以从 www.emqx.io/zh/downloads 下载不同格式的 EMQX 安装包进行手动安装。

也可以直接访问 EMQX 安装文档 查看不同安装方式的操作步骤。

文档

EMQX 开源版文档:www.emqx.io/docs/zh/latest/

EMQX 企业版文档:docs.emqx.com/zh/enterprise/latest/

EMQX Cloud 文档:docs.emqx.com/zh/cloud/latest/

贡献

请参考我们的 贡献者指南

如果对 EMQX 有改进建议,可以向 EIP 提交 PR 和 ISSUE。

社区

  • 访问 EMQ 问答社区 以获取帮助,也可以分享您的想法或项目。
  • 添加小助手微信号 emqmkt,加入 EMQ 微信技术交流群。
  • 加入我们的 Discord,参于实时讨论。
  • 关注我们的 bilibili,获取最新物联网技术分享。
  • 关注我们的 微博Twitter,获取 EMQ 最新资讯。

相关资源

EMQ 提供了通俗易懂的技术文章及简单易用的客户端工具,帮助您学习 MQTT 并快速入门 MQTT 客户端编程。

我们选取了各个编程语言中热门的 MQTT 客户端 SDK,并提供代码示例,帮助您快速掌握 MQTT 客户端库的使用。

优雅的跨平台 MQTT 5.0 客户端工具,提供了桌面端、命令行、Web 三种版本,帮助您更快的开发和调试 MQTT 服务和应用。

结合 EMQ 在车联网领域的实践经验,从协议选择等理论知识,到平台架构设计等实战操作,分享如何搭建一个可靠、高效、符合行业场景需求的车联网平台。

从源码构建

master 分支是最新的 5 版本,main-v4.3 分支是 4.3 版本,main-v4.4 是 4.4 版本。

EMQX 的 4.3 版本需要 OTP 22 或 23,4.4 和 5.0 版本需要 OTP 24。

git clone https://github.com/emqx/emqx.git
cd emqx
make
_build/emqx/rel/emqx/bin/emqx console

对于 4.2 或更早的版本,需要从另一个仓库构建。

git clone https://github.com/emqx/emqx-rel.git
cd emqx-rel
make
_build/emqx/rel/emqx/bin/emqx console

在 Apple 芯片(M1,M2)上编译

基于 Apple 芯片的 Homebrew 将默认的 home 目录/usr/local 改成了 /opt/homebrew,这个改变导致了一些兼容性问题。

具体到 EMQX 来说,主要影响的是 unixodbc,如果使用 Homebrew 安装的 unixodbc 包,那么在使用 kerl 编译 Erlang/OTP 的时候,kerl 会找不到 unixodbc

解决此问题的方法如下:

brew install unixodbc kerl
sudo ln -s $(realpath $(brew --prefix unixodbc)) /usr/local/odbc
export CC="/usr/bin/gcc -I$(brew --prefix unixodbc)/include"
export LDFLAGS="-L$(brew --prefix unixodbc)/lib"
kerl build 24.3
mkdir ~/.kerl/installations
kerl install 24.3 ~/.kerl/installations/24.3
. ~/.kerl/installations/24.3/activate

然后再使用 make 继续编译就可以了。

开源许可

详见 LICENSE