EMQTT v2.0-beta.1 发布,物联网MQTT消息服务器
jopen 8年前
<p style="text-align: center;"><strong><img alt="" src="https://simg.open-open.com/show/c2deddd70d7e8647592c974802bc41a0.jpg" /></strong></p> <p>emqttd(Erlang MQTT Broker)是基于Erlang/OTP语言平台开发,支持大规模连接和分布式集群, 发布订阅模式的开源MQTT消息服务器。</p> <p>emqttd完整支持MQTT V3.1/V3.1.1版本协议规范,并扩展支持WebSocket、Stomp、CoAP、MQTT-SN或私有TCP协议。emqttd消息服务器支持单节点100万连接与多节点分布式集群:</p> <p><img alt="_images/emqtt.png" src="file:///C:/Users/wzw/AppData/Local/Temp/enhtmlclip/Image(1).png" /><img alt="" src="https://simg.open-open.com/show/1ac09d68f79df98a63270d33434a8b1f.png" /></p> <p>emqttd项目为大规模客户端连接(C1000K+)的移动推送、移动消息、物联网、车联网、智能硬件等应用,提供一个完全开放源码、安装部署简便、企业级稳定可靠、容易扩展定制的MQTT消息服务器。</p> <h2>更新日志</h2> <p>EMQ 2.0-beta1预览版本(Preview Release)发布。EMQ 2.0版本改进了项目结构、发布方式、Git分支结构以及配置文件格式,以奠定EMQ消息服务器项目长期演进基础。</p> <p>.. NOTE:: 1.x版本产品部署用户请勿升级到该版本,2.0正式版本发布前会有API变更。</p> <h2>项目简称 - EMQ</h2> <p>项目简称变更为EMQ(Erlang/Enterprise/Elastic MQTT Broker),E含义Erlang/OTP平台、企业(Enterprise)、弹性(Elastic)。</p> <h2>项目发布方式</h2> <p>2.0 版本后采用预览版(Preview Release) + 候选版本(Release Candidate)版本方式迭代发布,2.0版本将陆续发布beta1, beta2, beta3, rc1, rc2等迭代,直到2.0正式版本发布。</p> <h2>应用与发布</h2> <p>2.0 版本后 <code>emqttd</code>_ 项目只包括消息服务器应用源码,分离发布(rel)为独立项目: <code>emqttd_relx</code>_ ,以解决1.0版本的插件(plugins)与emqttd应用编译依赖问题。</p> <p>源码编译请clone <code>emqttd_relx</code>_::</p> <pre> <code>git clone https://github.com/emqtt/emqttd-relx.git cd emqttd-relx && make cd _rel/emqttd && ./bin/emqttd console</code></pre> <h2>erlang.mk与relx</h2> <p>2.0 版本发布项目 <code>emqttd_relx</code><em> 采用 <code>erlang.mk</code></em> 和 <code>relx</code>_ 编译发布工具替换1.x版本使用的rebar。原因: <a href="/misc/goto?guid=4958993458743132345">https://erlang.mk/guide/why.html</a></p> <h2>Git分支结构</h2> <table> <thead> <tr> <th>stable</th> <th>1.x 稳定版本分支</th> </tr> </thead> <tbody> <tr> <td>master</td> <td>2.x 主版本分支</td> </tr> <tr> <td>emq10</td> <td>1.x 版本开发分支</td> </tr> <tr> <td>emq20</td> <td>2.x 版本开发分支</td> </tr> <tr> <td>emq30</td> <td>3.x 版本开发分支</td> </tr> <tr> <td>issue#{id}</td> <td>Issue修复分支</td> </tr> </tbody> </table> <h2>etc/emqttd.conf配置文件</h2> <p>2.0 版本改进项目配置文件格式,采用rebar.config、relx.config类似格式,提高配置文件的可读性和可编辑性。</p> <p>etc/emqttd.conf配置示例::</p> <pre> <code>%% Max ClientId Length Allowed. {mqtt_max_clientid_len, 512}. %% Max Packet Size Allowed, 64K by default. {mqtt_max_packet_size, 65536}. %% Client Idle Timeout. {mqtt_client_idle_timeout, 30}. % Second</code></pre> <h2>MQTT-SN协议支持</h2> <p>2.0-beta1版本正式发布 <code>emqttd_sn</code>_ 项目支持MQTT-SN协议,插件加载方式启用emqttd_sn项目,MQTT-SN默认UDP端口: 1884::</p> <pre> <code>./bin/emqttd_ctl plugins load emqttd_sn</code></pre> <h2>改进插件架构</h2> <p>2.0 版本从emqttd项目删除plugins/目录,插件作为一个普通的Erlang应用,直接依赖(deps)方式在编译到lib目录,插件配置文件统一放置在etc/plugins/目录中::</p> <pre> <code>▾ emqttd-relx/ ▾ etc/ ▸ modules/ ▾ plugins/ emqtt_coap.conf emqttd.conf emqttd_auth_http.conf emqttd_auth_mongo.conf emqttd_auth_mysql.conf emqttd_auth_pgsql.conf emqttd_auth_redis.conf emqttd_coap.conf emqttd_dashboard.conf emqttd_plugin_template.conf emqttd_recon.conf emqttd_reloader.conf emqttd_sn.conf emqttd_stomp.conf</code></pre> <h2>下载</h2> <ul> <li><a href="/misc/goto?guid=4958993458862423695" rel="nofollow"><strong>Source code</strong> (zip)</a></li> <li><a href="/misc/goto?guid=4958993458971086360" rel="nofollow"><strong>Source code</strong> (tar.gz)</a></li> </ul> <p>本站原创,转载时保留以下信息:<br /> 本文转自:深度开源(open-open.com)<br /> 原文地址:<a href="http://www.open-open.com/news/view/b837372">http://www.open-open.com/news/view/b837372</a></p> <p> </p>