引言

前两年买一款物联网控制板,当时把玩了一阵之后,验证了下串口通讯、MODBUS协议实现、TCP/UDP/DNS/MQTT通讯(基于GPRS)后,就放到角落里吃灰了呵。

最近收到阿里云的优惠推送,说是什么每月百万条次使用免费,于是想起了这套吃灰装备,是不是也高大上一把,体验下支持高可用、高并发的阿里云,玩下阿里云的MQTT服务呢?

说干就干。

阿里云服务

许多人对云服务一知半解,以为知道个ECS/云主机,就是云服务的全部了。其实,云服务有许多内容,消息中间件服务也是其中一种。

本次我们要使用的MQTT消息服务也是消息中间件的一种。

笔者所知道的消息中间件

ActiveMQ

Aopllo

RabbitMQ

Kafka

RocketMQ

消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景,具体内容园中相关文章不少,笔者不再此献丑了呵。

本文主要对具体实战应用进行说明。

.登录阿里云

首先,我们打开阿里云。

https://www.aliyun.com/

右上角,登录

支持多种方式登录

可用阿里系旗下的淘宝、支付宝、钉钉等帐号登录而无需注册呵,真是方便啊

不过当中,还夹了一个微博登录,不知是什么个情况,本人不用这个,不管也罢。

选择淘宝登录

消息队列MQ

登录阿里云后,找到管理控制台,在如下位置,找到MQ相关服务

阿里云中的产品太多,笔者摸索了半天才找到的呵。

开通RocketMQ服务

选择消息队列MQ

单击消息队列 RocketMQ 进入消息队列 RocketMQ 的产品主页。

在消息队列 RocketMQ 的产品主页上,单击立即开通进入消息队列 RocketMQ 服务开通页面,根据提示完成开通服务。

创建资源

资源类型说明

一个新的应用接入消息队列 RocketMQ 需要先创建相关的消息队列 RocketMQ 资源,包括:

  • 实例:用于消息队列 RocketMQ 服务的虚拟机资源,会存储消息主题(Topic)和客户端 ID(Group ID)信息。
  • 消息主题(Topic):在消息队列 RocketMQ 的消息系统中,消息生产者将消息发送到某个指定的 Topic ,而消息消费者则通过订阅该指定的 Topic 来获取和消费消息。
  • Group ID用于消息消费者(或生产者)的标识
  • 阿里云 AccessKey:用于收发消息时进行账户鉴权

MQ服务管理界面如下

微消息队列MQTT

在阿里云中,MQTT被称为微消息队列,大家入乡为俗吧。

点击 消息队列 RocketMQ ,出现下拉列表

哦,原来MQTT服务你躲在这里啊(产品中直接搜索MQTT是找不到的哦)

各位同学,看到的界面可能与我有所不同,可能在看到上述界面之间,未开通相关服务的同学,可能会看到一个开通相关服务的界面,点击开通就行了呵。(已开通的话,相关界面是不会再显示的呵)

仅开通服务,不创建相关资源,是不会收费的呵。

创建MQTT实例

创建MQTT实例

弹出购买界面

我们选择最右侧的按量付费套餐。

购买后,系统自动生成一个MQTT服务实例

系统显示我们已成功创建了一个实例

同时,系统给出了第二步的向导:

消息存储配置

阿里云中的MQTT服务没有提供存储功能,需要一个MQ服务来提供支持。

控制台给出的选项中,Kafka和AMQP目前均不可用

只有RocketMQ可选。

好吧,这也算是选择的话(我有得选吗?)

我们选择新建共享实例,我们以共享单车应用为例,取一个 bike 的实例名

确认,系统生成RocketMQ实例

系统完成MQTT实例的配置,并给出了公网接入点地址。

创建Topic

阿里云的MQTT主题订阅要求必需创建一个顶级的主题资源

我们创建一个项级Topic

我们选择普通消息,其他的消息类型,大家可自行查看相应的说明。

创建组ID

RAM资源访问控制

在服务创建过程中,阿里云系统会提示我们需要配置RAM管理

创建用户

我们创建一个名为bike的用户

点击确定,系统提示需要手机验证,我们获取验证码后填入并确定

系统生成用户信息,生成了用户名和密码

大家切记,一定要点制复制,将用户信息进行妥善保存,否则,你会发现,前面一顿操作猛如虎,没有AccessKeySecret白瞎杵。

一旦关闭此页面,AccessKeySecret是无法再找回的。

不过,系统中虽然不能查看AccessKeySecret,但是还是允许为用户创建新的AccessKey和AccessKeySecret,万一AccessKeySecret丢失,只有新创建了。

授权

创建用户后,需要对用户进行授权

对用户添加权限

MQTT服务验证

是不是到这里MQTT服务就可以用了呢?

等等,好象我们还忘了什么?

哦,MQTT访问是需要用户/密码的哦,当然,有些服务器是允许空用户的。不过阿里云的是不允许这样的。

待续>>>

玩转MQTT-阿里云之MQTT使用的更多相关文章

  1. 玩转MQTT-阿里云之MQTT使用(下)

    玩转MQTT-阿里云之MQTT使用(下) 摘要 为使物联网项目在正式使用时,能顺利切换到具有高并发高负载能力的服务平台,对阿里云提供的MQTT服务进行使用验证. 引言 之前写“MQTT之阿里云使用-玩 ...

  2. 基于阿里云的MQTT远程控制

    好久没有写博客了,眼看自己的项目就要快做完了,先分享一下基于MQTT的远程控制,自己买了一个阿里的云端,然后在云端上安装了一个MQTT服务器,其实是一不小心买了两个,所以准备贡献出来一个供大家使用, ...

  3. (二)基于阿里云的MQTT远程控制(购买阿里云,在云端安装MQTT,测试MQTT远程通信)

    QQ名称为Friday~的网友把他自己买MQTT的过程截图发给了我,今天就说一下如何购买阿里云,安装MQTT可以参考 http://www.cnblogs.com/yangfengwu/p/77646 ...

  4. (一)基于阿里云的MQTT远程控制(Android 连接MQTT服务器,ESP8266连接MQTT服务器实现远程通信控制----简单的连接通信)

    如果不了解MQTT的可以看这篇文章  http://www.cnblogs.com/yangfengwu/p/7764667.html http://www.cnblogs.com/yangfengw ...

  5. 在阿里云服务器上(centos 8) 安装自己的MQTT服务器 (mosquitto)

    layout: post title: 在阿里云服务器上(centos 8) 安装自己的MQTT服务器 (mosquitto) subtitle: date: 2020-3-2 author: Dap ...

  6. 阿里云物联网套件(iot)设备间通信(M2M)在web端的实践

    之前通过nodejs连接到阿里云物联网mqtt,后又用浏览器连接,总结一下: 由于项目是SPA,使用webpack,关键代码: 同样使用mqtt.js之前先install: npm install - ...

  7. 阿里云IoT流转到postgresql数据库方案

    之前写过一篇如使用阿里云上部署.NET 3.1自定义运行时的文章,吐槽一下,虽然现在已经2022年了,但是阿里云函数计算的支持依然停留在.NET Core 2.1,更新缓慢,由于程序解包大小的限制,也 ...

  8. 【物联网云端对接-2】通过MQTT协议与阿里云物联网套件进行云端通信

     在<程序员>杂志2017.4刊上,曾写过一篇<微软百度阿里三大物联网平台探析>,上面曾介绍了阿里云物联网套件的一些内容,在写该篇文章的时候,凌霄物联网网关还无法对接到此平台( ...

  9. nodejs连接阿里云物联网套件(mqtt)

    文档地址:https://help.aliyun.com/document_detail/73742.html   连接方法:先HTTPS认证再连接 /* *阿里云物联网套件nodejs连接示例 *C ...

随机推荐

  1. 网易2019校招内推编程题-瞌睡-C++实现

    [编程题] 瞌睡 时间限制:1秒 空间限制:262144K 小易觉得高数课太无聊了,决定睡觉.不过他对课上的一些内容挺感兴趣,所以希望你在老师讲到有趣的部分的时候叫醒他一下.你知道了小易对一堂课每分钟 ...

  2. 安装mingw编译器

    1.下载地址:https://sourceforge.net/projects/mingw/files/latest/download?source=top3_dlp_t5 2. 安装下载的(ming ...

  3. input 和 button元素 作为提交、重置、按钮功用的区别。

    首先,input元素和button元素 都是可以作为普通按钮.提交按钮.重置按钮的. <input type="button" value="button" ...

  4. jQuery-4.动画篇---jQuery核心

    jQuery中each方法的应用 jQuery中有个很重要的核心方法each,大部分jQuery方法在内部都会调用each,其主要的原因的就是jQuery的实例是一个元素合集 如下:找到所有的div, ...

  5. python从零开始 -- 第0篇之Hello World!

    为什么选择python以及版本选择 学习资料 学习方法和路径 1. 为什么选择python以及版本选择: Python  好玩,强大,更多关于关于为什么选择Python,在  编程小白的第一本 Pyt ...

  6. Podfile

    platform :ios, "9.0" target "APPName" dopod 'AFNetworking'pod 'SVProgressHUD'pod ...

  7. 如何查看jar包的版本号?(转)

    转自 : http://www.cnblogs.com/wych/p/4072913.html jar包根目录里的META-INF目录下的MANIFEST.MF文件里一般有会记录版本信息,可以到这个文 ...

  8. 64位ubuntu16.04系统安装网易云音乐

    64位ubuntu16.04系统安装网易云音乐 1.官网下载安装包:netease-cloud-music_1.1.0_amd64_ubuntu.deb https://music.163.com/# ...

  9. 解决eclipse使用tomcat启动项目后访问项目404的问题

    今天启动项目的时候发现项目启动没有问题,但是一直访问不到页面,F12发现根本没有交互,百度后解决了,故记下来为以后提供方法,若有不同的解决方法,欢迎指教 1.首先要确保你的tomcat下没有项目,怎么 ...

  10. FixedUpdate()使用

    当MonoBehaviour启用时,其 FixedUpdate在每一帧被调用. 处理Rigidbody时,需要用FixedUpdate代替Update.例如:给刚体加一个作用力时,你必须应用作用力在F ...