概述
谈到物联网就不能不提 MQTT 协议,MQTT 之于物联网就好比 HTTP 之于互联网。在智能制造、智能家居、智慧城市、车联网等诸多领域,MQTT都得到了广泛的应用。
本文将介绍如何快速的部署一个免费的、全托管的MQTT集群,以供学习、研发和测试之用。文中会涉及EMQ公司提供的托管MQTT服务。EMQ作为一家全球范围内在MQTT消息中间件领域的头部企业,提供了多种类型的MQTT Broker产品。其中 EMQ X Cloud 是 EMQ 提供的一款全托管的物联网 MQTT 5.0 云服务产品。通过该产品,我们可以快速部署一个稳定可靠、功能完整、性能优异的 MQTT 集群。
本教程中,笔者就将带您一步一步的创建一个 MQTT 集群。在完成本教程后,您将了解:
- 如何快速在 EMQ X Cloud 上部署一个 MQTT 集群。
- 如何配置 MQTT 集群的认证鉴权与访问控制。
- 如何使用客户端工具连接 MQTT 集群。
- 如何发布与订阅消息。
第一步:创建 EMQ X Cloud 账号
首先我们前往 EMQ X Cloud 产品的首页。点击 “开始免费试用” 按钮。
根据页面提示信息,完成用户注册流程。
第二步: 创建试用部署
在完成注册后,我们返回首页,点击 ”登录“ 并进入控制台。
点击页面右上方的”新建“按钮,开始部署流程。
EMQ X Cloud 目前国内支持阿里云和华为云两个公有云平台,海外支持 AWS 平台。然而,该产品的免费试用版本仅支持阿里云和AWS两个平台,并且连接的并发量限制在了25线,但这并不妨碍我们创建免费的实例,作为研究和学习之用,25线在正常情况下已经足够用了。
在进入部署页面后,我们选择免费试用。请注意,该选项仅适用于新用户,可以获得最高180天的免费试用时长。如果已经有了试用示例,那么你可以选择商用版本,商用版会根据规格的不同有不同的价格阶梯,并且是按用量付费的,也是云服务比较常见的一种收费模式。
在选择所需的产品规格后,右侧可以看到所选规格的集成信息和功能列表,以及预估费用。
点击”立即部署“,等待几分钟后,我们就可以拥有一个专享的 MQTT 集群了,并且是全托管的。
第三步: 进入集群管理界面
在集群列表页面,我们可以随时查看集群的部署进度。
当部署完成后,我们可以看到集群的运行状态为:运行中。此状态表明集群已经可以正常使用了。这时候我们点击集群即可进入集群管理界面。
进入管理界面后,我们可以直观的看到界面概览信息,包括集群的状态、连接情况,连接地址等信息。在左侧侧菜单栏中,集群所提供的各种配置和能力也都明确的列了出来。
此时,我们可以记下集群的连接地址和连接端口,以便后续使用。
当然,在正式连接到集群前,我们还需要做一件重要的事情,那边是设置客户端访问所需的认证信息和权限控制。
第四步: 添加认证
添加认证鉴权的过程非常简单,我们点击左侧菜单栏中的认证鉴权,此时会展开二级菜单,我们可以看到有两个栏目:”认证“与”访问控制“。
我们首先点击”认证“。在右侧页面,我们可以看到集群所添加的所有认证信息。此刻为空,说明目前集群还没有添加过认证。
我们在右侧输入框中分别输入用户名 ”user1“ 和密码 ”test“ (也可以输入任意期望的用户名和密码以供后续连接使用),点击添加。
此时我们可以看到,列表中出现了一条记录,代表刚才的认证信息已进添加成功。
你可以通过该界面,添加其他所需的认证信息。如果是商用集群,还可以点击”导入“按钮,将设备认证信息批量导入到集群配置中去。
第五步:配置访问控制
添加认证信息可以使得客户端或设备端能够通过该认证信息链接到 MQTT 服务器。但为了集群更安全,通常我们建议为每个用户配置访问控制。访问控制可以约束该用户可以往哪些主题发布或者订阅消息。
我们点击右侧菜单栏中的”访问控制“选项即可进入访问控制配置页面。该页面我们可以看到有”客户端ID“
”用户名“、”全部用户“三个栏目。”客户端ID“栏目内可以根据连接时所设置的客户端ID来控制访问,而”用户名“栏目中我们可以根据连接时所用的用户名来控制访问。最后一个”全部用户“则可以控制消息主题对于所有访问是否允许发布或订阅。在这里,我们点击”用户名“,为刚刚添加的用户配置一条访问控制规则。
在用户名输入框中我们输入”user1“,在主题中输入”/test“, 选择”允许“ 和”pubsub“,点击 ”添加“ 按钮。
在访问控制的列表中我们可以看到刚刚添加的这条记录。这条记录的含义为:允许 user1 用户向 ”/test“ 主题发送消息,也允许该用户订阅 ”/test“ 主题。当然,你也可以根据需要,配置不允许发布和订阅的主题,亦或是只允许某个主题发布,或者是订阅。有关更多的使用规则,您可以参考我们专门介绍认证鉴权的教程内容。
第六步:连接 MQTT 集群
至此,我们已经拥有了一个 MQTT 集群,并添加了一个认证信息和一条访问控制规则。那么接下来,我们就可以使用这些信息连接到 MQTT 集群上了。
连接 MQTT 集群有很多方式。通常正式使用的时候我们会选择用编程的方式,选择某个编程语言的MQTT客户端SDK,建立连接并收发消息。我们也可以使用一些带有图像化界面的MQTT客户端工具来连接到MQTT集群。在本教程中,我们使用 EMQ 提供的一款功能强大的 MQTT 客户端工具 (MQTT X)来连接集群。
MQTT X 是 EMQ 开源的一款优雅的跨平台 MQTT 5.0 桌面客户端,它支持 macOS, Linux, Windows。可以访问它的官网 (https://mqttx.app/cn/)下载该软件。
安装后打开该软件,您可以看到如上界面,左侧是一些常用操作按钮,中间是连接信息,当连上MQTT消息后,右侧则是收发消息的区域。此刻,我们点击”新建连接“ 按钮。
在新建连接的界面上,我们给该连接起个名字,我们简单输入 "test", 在Host和Port输入框中输入我们前面所部属集群的连接地址和端口(这些信息可以在集群管理的概览页面找到)。在Username和Password输入框中输入之前添加的认证信息 (教程中使用的”user1/test“, 或者您自定义的用户名密码)。点击右上角”Connect”按钮。
此时,我们可以看到在中间Connections部分多了一条记录。
该记录前有个绿色小圆点,代表我们已成功连接到了MQTT集群。
第七步:发布与订阅消息
接着,我们先创建一个订阅。点击 "+ New Subscription" 按钮,订阅的topic名我们改为之前配置的访问控制中的 "/test" 。点击确认。
此时我们可以看到我们已经成功订阅了 "/test" 主题。那么接下来,我们试着往该主题发布一条消息看是否能收到。
我们在右下角设置要将消息发往的目的地主题为 "/test" , 消息体中我们保留默认的 "hello" 消息,点击右下角的发送按钮。
我们可以看到,右侧多了两条消息,绿色是我们发往 "/test" 这个主题的消息,左侧灰色部分是我们订阅 "/test" 这个主题后收到的消息。
恭喜! 如果您跟着我们的教程一步一步操作,那么到现在,您已经成功的完成了集群创建、配置认证、访问控制和收发消息的操作!
总结
在本教程中,我们体验了在 EMQ X Cloud 上部署一个 MQTT 集群的过程。当然,这只是一个开始,EMQ X Cloud 还有很多非常强大的功能可以去尝试。例如,可以配置 VPC 对等连接,使得MQTT 集群可以与部署在同一个公有云平台同地域的其他服务集成。也可以使用强大的规则引擎功能,将 MQTT 集群接收到的消息根据规则保存到不同的数据库中或者转发到其他消息队列中,而这些功能无需编写一行代码!
在下一期教程中,我们将使用规则引擎功能,将客户端发送的数据,按规则持久化到数据库中。
最后
以上就是孝顺魔镜为你收集整理的三分钟部署一个全托管免费MQTT集群的全部内容,希望文章能够帮你解决三分钟部署一个全托管免费MQTT集群所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复