EMQX 百萬級開源MQTT訊息伺服器之填坑之路

2021-09-25 01:30:33 字數 627 閱讀 1780

填坑1、emqx_auth_http開啟後,寫法建議如下,狀態碼200是授權成功(注意返回值不能是"ignore"),非200是授權失敗

實際上嚴格區分有,三種:

1、狀態碼200,返回值不是」ignore「。這代表授權成功。

2、狀態碼200,返回值是」ignore"。代表忽略此次授權。

3、狀態碼不是200。代表授權失敗。

而寫法1在auth和superuser是代表授權成功,寫法2在auth和superuser上代表的忽略授權其實就是授權失敗,但在acl上卻是授權成功,寫法3都是授權失敗。這裡面的ignore在不同狀態下有歧義,所以實際開發中建議無視2的寫法,用上圖的寫法。

clientid不能訂閱到自己發布的主題,即相同的clientid訂閱發布失敗。http_auth在acl授權的時候,就算不通過授權,publish都不會丟擲異常。這樣坑到了,由於一開始不知道publish不會丟擲異常,以為http_auth不生效。

填坑2、訊息型別qos不是端對端的,取決於推送方和接收方雙方的最低訊息型別。所以不要傻傻的以為在接收方設定好訊息型別qos,實際就是按這個qos來處理訊息。?

百萬級開源MQTT訊息伺服器 搭建

開始使用 emq 2.0 訊息伺服器簡介 emq erlang enterprise elastic mqtt broker 是基於erlang otp平台開發的開源物聯網mqtt訊息伺服器。erlang otp是出色的軟實時 soft realtime 低延時 low latency 分布式 di...

Linux踩坑之雲伺服器 ssh 連線不上

前奏 今天沒事處理一下之前遠端不了linux桌面的問題時,找到乙個解決方法 開始入坑 systemctl set default graphical.target 圖形介面 注 該命令為開機預設設定成圖形介面 然後,重啟系統。結果 ssh連線不上了?workbench登入不上,xshell也不行。解...

企業級伺服器設計與實現經驗之系統框架(一)

我們將dataserver拆分為功能伺服器和應用伺服器,基於如下幾個方面的考慮 1 能更簡單的新增不同型別的應用。在這種拆分的狀態下,如果需要增加乙個新的應用,那麼只需要增加乙個新的應用伺服器即可。比如,現有的應用伺服器是以tcp的方式提供服務,如果我想增加一種以webservice方式來發布我們的...