消息队列/缓存
文章平均质量分 65
消息队列/缓存
小哇666
专注web/大数据
展开
-
EMQ-代理订阅 【WebHook+EMQ内置的HTTP接口】--实现动态代理
动态代理订阅需求客户端连接上来之后动态订阅主题,客户端下线后自动取消订阅实现思路分析:开启了 emqx_web_hook插件后,EMQ X的事件都会勾起对我们配置的webhook接口进行回调,在该webhook接口中我们能够获取客户端的相关信息比如clientld,username等,然后我们可以在该接口方法中针对该客户端自动订阅某一主题,订阅的实现,我们基于EMQX给我们提供的监控管理的相关HTTP API,意味着我们调用相关的HTTP API可完成客户端订阅的功能,反之客户端下线时我们可以...原创 2021-03-04 19:11:10 · 1557 阅读 · 1 评论 -
EMQ-代理订阅 概述和应用 使用内置模块实现静态代理
个人用大白话来理解代理订阅就是 EMQ设置一些规则,消费者不需要订阅某主题,就可以接收到某些主题的消息所谓静态代理订阅,就是主题必须要有一定的规律,简单的,如识别用户,clientId的可以,复杂的就不行了,需要用到动态代理订阅代理订阅EMQ X 的代理订阅功能使得客户端在连接建立时,不需要发送额外的 SUBSCRIBE 报文,便能自动建立用户预设的订阅关系。#开启代理订阅功能代理订阅功能由emqx_mod_subscription内置模块提供,此功能默认关闭,支持在 EMQ...原创 2021-03-04 16:53:14 · 1162 阅读 · 1 评论 -
EMQ-延迟发布,发送延迟消息
延迟发布功能由emqx_mod_delayed内置模块提供,此功能默认开启,支持动态启停,先检查是否已经启用########## 生产者发布的主题前添加相应的前缀,订阅者的主题名不变 ##########延迟发布主题的具体格式如下:$delayed/{DelayInterval}/{TopicName}$delayed: 使用$delay作为主题前缀的消息都将被视为需要延迟发布的消息。延迟间隔由下一主题层级中的内容决定。 {DelayInterval}: 指定该 MQTT 消息...原创 2021-03-04 15:33:26 · 2223 阅读 · 1 评论 -
EMQ-共享订阅 【多个订阅者之间实现负载均衡的订阅方式】 概述和使用
共享订阅是在多个订阅者之间实现负载均衡的订阅方式: [subscriber1] got msg1 msg1, msg2, msg3 /[publisher] ----------------> "$share/g/topic" -- [subscriber2] got msg2原创 2021-03-04 14:29:11 · 3955 阅读 · 2 评论 -
EMQ-保留消息 概述和案例
简介服务端收到 Retain 标志为 1 的 PUBLISH 报文时,会将该报文视为保留消息,除了被正常转发以外,保留消息会被存储在服务端,每个主题下只能存在一份保留消息,因此如果已经存在相同主题的保留消息,则该保留消息被替换。当客户端建立订阅时,如果服务端存在主题匹配的保留消息,则这些保留消息将被立即发送给该客户端。借助保留消息,新的订阅者能够立即获取最近的状态,而不需要等待无法预期的时间,这在很多场景下非常重要的。EMQ X 默认开启保留消息的功能,可以在etc/emqx.conf中修改..原创 2021-03-04 12:08:20 · 2494 阅读 · 1 评论 -
EMQ-WebHook简介和使用
WebHook官网详细说明,阅读此博文时,一定要同时看官网,因为有很多固定的名称,每个事件的参数也不一样https://docs.emqx.cn/broker/latest/advanced/webhook.html#%E9%85%8D%E7%BD%AE%E9%A1%B9WebHook 是由emqx_web_hook(opens new window)插件提供的将 EMQ X 中的钩子事件通知到某个 Web 服务的功能。WebHook 的内部实现是基于钩子,但它更靠近顶层一些。它通过在钩子上的...原创 2021-03-04 11:30:50 · 4192 阅读 · 7 评论 -
EMQ-发布订阅 ACL--HTTP ACL
使用http认证方式,方法如下https://blog.csdn.net/qq_41712271/article/details/114309545ACL 授权原理EMQ X 在设备发布、订阅事件中使用当前客户端相关信息作为参数,向用户自定义的认证服务发起请求权限,通过返回的 HTTP响应状态码(HTTP statusCode) 来处理 ACL 授权请求。无权限:API 返回 4xx 状态码 授权成功:API 返回 200 状态码 忽略授权:API 返回 200 状态码且消息体 ig...原创 2021-03-03 23:29:22 · 461 阅读 · 1 评论 -
EMQ-发布订阅 ACL--MySQL ACL
mysql认证登陆的方式,可参考以下博文https://blog.csdn.net/qq_41712271/article/details/114303255?spm=1001.2014.3001.55011创建 ACL 规则表CREATE TABLE `mqtt_acl` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `allow` int(1) DEFAULT 1 COMMENT '0: deny, 1: allow', `ip.原创 2021-03-03 18:09:09 · 219 阅读 · 1 评论 -
emq-- 使用Client ID 或 Username 认证
以下是演示 Client ID的认证方式,Username大同小异,此两种方式已经快废弃了,了解即可1 Client ID 和 Username 认证,高版本的认证数据可直接通过 emq的Dashboard控制台中的插件直接添加,如下低版本的emqx,则需要通过 emqx内置的api 来添加,并使用app里的用户密码登陆,才能使用api,如下图所示应用里的账号,密码只是使用emq内置的api接口时才使用2 测试认证方式或使用单独的mqtt客户端连接,下载方式https://mqttx.app/如原创 2021-03-03 17:51:08 · 1343 阅读 · 1 评论 -
EMQ-发布订阅 ACL 概述和使用
ACL简单说,就是制定一些规则"允许(Allow) / 拒绝(Deny)" "谁(Who)" "订阅(Subscribe) / 发布(Publish)" "主题列表(Topics)"常见的ACL配置方式有如下几种方式超级用户(superuser)认证鉴权插件启用超级用户功能后,发布订阅时 EMQ X 将优先检查客户端是否为超级用户身份 超级用户拥有最高权限,不受 ACL 限制ACL 鉴权链当同时启用多个 ACL 插件时,EMQ X 将按照插件开启先后顺序进行链式鉴权:一通过授...原创 2021-03-03 17:37:22 · 732 阅读 · 1 评论 -
EMQ Java客户端 发送消息/接收消息 的使用
1添加maven依赖<dependency> <groupId>org.eclipse.paho</groupId> <artifactId>org.eclipse.paho.client.mqttv3</artifactId> <version>1.2.2</version></dependency>常见类功能说明基类 介绍 MqttClient.原创 2021-03-03 16:00:37 · 2164 阅读 · 2 评论 -
emq--使用外部自建 HTTP 应用认证
认证原理EMQ X 在设备连接事件中使用当前客户端相关信息作为参数,向用户自定义的认证服务发起请求查询权限,通过返回的 HTTP响应状态码(HTTP statusCode) 来处理认证请求。认证失败:API 返回 4xx 状态码 认证成功:API 返回 200 状态码 忽略认证[由其它认证插件认证]:API 返回 200 状态码且消息体 ignore1线上使用建议关闭 匿名登陆打开安装目录下的\etc\emqx.conf文件修改allow_anonymous = false重启...原创 2021-03-03 13:41:09 · 1308 阅读 · 2 评论 -
emq--添加mysql认证
1线上使用建议关闭 匿名登陆打开安装目录下的\etc\emqx.conf文件修改allow_anonymous = false重启 emq ,即可emqx restart2修改mysql认证插件的配置文件 /etc/plugins/emqx_auth_mysql.conf## 核心配置如下## 服务器地址auth.mysql.server = 127.0.0.1:3306## 连接池大小auth.mysql.pool = 8auth.mysql.username = r...原创 2021-03-03 11:34:41 · 589 阅读 · 1 评论 -
emq常见的认证方式 概述 和 使用
更多认证方式可查询官网https://docs.emqx.cn/broker/latest/advanced/auth.html1 线上使用建议关闭 匿名登陆打开安装目录下的\etc\emqx.conf文件修改allow_anonymous = false重启 emq ,即可emqx restart2 Client ID 和 Username 认证,高版本的认证数据可直接通过 emq的Dashboard控制台中的插件直接添加,如下低版本的emqx,则需要通过 emqx内置的api 来添加,并使.原创 2021-03-02 11:44:06 · 901 阅读 · 0 评论