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>