91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

EMQ X MQTT 5.0主題重寫怎么運用

發布時間:2021-12-07 09:13:32 來源:億速云 閱讀:147 作者:iii 欄目:互聯網科技

本篇內容介紹了“EMQ X MQTT 5.0主題重寫怎么運用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

EMQ X 的主題重寫功能支持根據用戶配置的規則在 MQTT 客戶端訂閱主題、發布消息、取消訂閱的時候將 A 主題重寫為 B 主題。

EMQ X 的 保留消息 和 延遲發布 可以與主題重寫配合使用,例如,當用戶想使用延遲發布功能,但不方便修改客戶端發布的主題時,可以使用主題重寫將相關主題重寫為延遲發布的主題格式。

開啟主題重寫功能

主題重寫功能默認關閉,開啟此功能需要修改 etc/emqx.conf 文件中的 module.rewrite 配置項。默認 off 表示關閉,如需開啟請修改為 on

module.rewrite = off

配置主題重寫規則

EMQ X 的主題重寫規則需要用戶自行配置,用戶可以自行添加多條主題重寫規則,規則的數量沒有限制,但由于任何攜帶主題的 MQTT 報文都需要匹配一遍重寫規則,因此此功能在高吞吐場景下帶來的性能損耗與規則數量是成正比的,用戶需要謹慎地使用此功能。

每條主題重寫規則的格式如下:

module.rewrite.rule.<number> = 主題過濾器 正則表達式 目標表達式

每條重寫規則都由以空格分隔的主題過濾器、正則表達式、目標表達式三部分組成。在主題重寫功能開啟的前提下,EMQ X 在收到諸如 PUBLISH 報文等帶有主題的 MQTT 報文時,將使用報文中的主題去依次匹配配置文件中規則的主題過濾器部分,一旦成功匹配,則使用正則表達式提取主題中的信息,然后替換至目標表達式以構成新的主題。

目標表達式中可以使用 $N 這種格式的變量匹配正則表達中提取出來的元素,$N 的值為正則表達式中提取出來的第 N 個元素,比如 $1 即為正則表達式提取的第一個元素。

需要注意的是,EMQ X 使用倒序讀取配置文件中的重寫規則,當一條主題可以同時匹配多條主題重寫規則的主題過濾器時,EMQ X 僅會使用它匹配到的第一條規則進行重寫,如果該條規則中的正則表達式與 MQTT 報文主題不匹配,則重寫失敗,不會再嘗試使用其他的規則進行重寫。因此用戶在使用時需要謹慎的設計 MQTT 報文主題以及主題重寫規則。

示例

假設 etc/emqx.conf 文件中已經添加了以下主題重寫規則:

module.rewrite.rule.1 = y/+/z/# ^y/(.+)/z/(.+)$ y/z/$2
module.rewrite.rule.2 = x/# ^x/y/(.+)$ z/y/x/$1
module.rewrite.rule.3 = x/y/+ ^x/y/(\d+)$ z/y/$1

此時我們分別訂閱 y/a/z/by/defx/1/2x/y/2x/y/z 五個主題:

  • y/def 不匹配任何一個主題過濾器,因此不執行主題重寫,直接訂閱 y/def 主題。

  • y/a/z/b 匹配 y/+/z/# 主題過濾器,EMQ X 執行 module.rewrite.rule.1 規則,通過正則正則表達式匹配出元素 [a、b] ,將匹配出來的第二個元素帶入 y/z/$2,實際訂閱了 y/z/b 主題。

  • x/1/2 匹配 x/# 主題過濾器,EMQ X 執行 module.rewrite.rule.2 規則,通過正則表達式未匹配到元素,不執行主題重寫,實際訂閱 x/1/2 主題。

  • x/y/2 同時匹配 x/#x/y/+ 兩個主題過濾器,EMQ X 通過倒序讀取配置,所以優先匹配 module.rewrite.rule.3,通過正則替換,實際訂閱了 z/y/2 主題。

  • x/y/z 同時匹配 x/#x/y/+ 兩個主題過濾器,EMQ X 通過倒序讀取配置,所以優先匹配 module.rewrite.rule.3,通過正則表達式未匹配到元素,不執行主題重寫,實際訂閱 x/y/z 主題。需要注意的是,即使 module.rewrite.rule.3 的正則表達式匹配失敗,也不會再次去匹配 module.rewrite.rule.2 的規則。

“EMQ X MQTT 5.0主題重寫怎么運用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阆中市| 长宁区| 黔南| 余干县| 泊头市| 东乌珠穆沁旗| 会同县| 洞口县| 山阳县| 瓮安县| 永修县| 临西县| 普兰县| 墨江| 安庆市| 鞍山市| 峨眉山市| 青河县| 德清县| 广德县| 清镇市| 思南县| 大余县| 包头市| 紫阳县| 涞源县| 台北市| 仙游县| 施秉县| 新和县| 潼关县| 无棣县| 安远县| 永安市| 弥勒县| 衡东县| 眉山市| 泊头市| 嘉定区| 汉源县| 涿鹿县|