create emqx project

Ivan Dyachkov dc4d58593b Merge pull request #9575 from id/chore-fix-runner_root_dir-detection-on-macos hace 3 años
.ci 2e1cdd039e ci: include OTP-25 in some workflows hace 3 años
.github e267b3c89e ci: avoid coverdata filename collisions hace 3 años
apps cbe54c001c Merge pull request #9510 from keynslug/chore/otp-25-compat hace 3 años
bin e8073f9e7d chore: fix RUNNER_ROOT_DIR detection on MacOS hace 3 años
changes 5151242583 feat(rule-engine): `zip`, `gzip`, `zip_compress` funcs in rule-sql hace 3 años
deploy 2e1cdd039e ci: include OTP-25 in some workflows hace 3 años
lib-ee 9e3da5b661 chore: bump app versions hace 3 años
rel 4cadb86b18 docs: fix typos hace 3 años
scripts 501f0fc8d5 ci: reduce test matrix size hace 3 años
.editorconfig 7f12db0180 add editorconfig for emqx hace 7 años
.formatter.exs c14e8db869 style(format): format elixir files hace 4 años
.gitattributes af69899619 chore: add a pre-commit hook to auto format erlang code hace 3 años
.gitignore 554c4b4c3b build: stop trying to fetch rebar and build deps on each build hace 3 años
.tool-versions 37a400ec25 chore: bump asdf erlang version hace 3 años
APL.txt 7f49934216 chore: add BSL.txt hace 4 años
CONTRIBUTING.md 56e2a9741f style: ensure newline at EOF for all files hace 4 años
Dockerfile.ubuntu20.04.runner abb941d161 docs: remove port 8081 hace 3 años
Dockerfile.ubuntu20.04.runner.dockerignore b92708726a test: Dockerfile:s to build test images hace 3 años
LICENSE 5bd1c4803c chore: Update license file hace 3 años
Makefile cbe54c001c Merge pull request #9510 from keynslug/chore/otp-25-compat hace 3 años
NOTICE 2e94880bb6 docs: More EMQ X -> EMQX rename in descriptive strings hace 4 años
PLUGIN.md 2e94880bb6 docs: More EMQ X -> EMQX rename in descriptive strings hace 4 años
README-CN.md abb941d161 docs: remove port 8081 hace 3 años
README-JP.md a080c127a7 chore: `EMQ X` -> `EMQX` in icons hace 3 años
README-RU.md abb941d161 docs: remove port 8081 hace 3 años
README.md 97e71589c9 docs: update README hace 3 años
Windows.md 54367ea764 docs: add a note to Windows.md hace 3 años
build eaf2a0bdfd chore: fail build if apple notarization failed hace 3 años
elvis.config 74c33cd4e5 feat(rule_engine): add jq function to the rule engine hace 3 años
git-blame-ignore-revs 10b19acd35 chore: module and fun call rename hace 3 años
mix.exs 9be8c4e076 ci: pin emqx/erlang-rocksdb to 1.7.2-emqx-7 hace 3 años
pkg-vsn.sh b5b7d92aeb build: if uname -m prints arm64, we use arm64 (instead of just arm) hace 3 años
rebar.config 9be8c4e076 ci: pin emqx/erlang-rocksdb to 1.7.2-emqx-7 hace 3 años
rebar.config.erl aece9fb96f ci: unset compile time vsn in dev profiles hace 3 años

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