我 17:27
請問大咖們,之前群裡提到“EMQ中CPU是公平配置設定給MQTT會話,大量pub消息到一個訂閱,訂閱不會拿到更多cpu,最終導緻消息累積。”這個問題在emq v1和v2版本都存在嗎?大概每秒發多少條資料就會出現這個現象?
大梁先生 17:53
這和機器配置有一定關系的 而且不要做這種設計呀 幹嘛都投給一個topic
我 17:59
那應該怎麼設計?因為我們的場景就是單一的行業,單一伺服器訂閱,然後資料呈現在web
大梁先生 17:59
如果真要這樣做 就得把route中的hash分布改下 但是 這樣就不能保證有序了
大梁先生 18:01
隻是我個人看法 最好遵循emq的設計思想吧 可以再詢問下大佬
我 18:02
難道是兩萬個終端publish,我背景就用兩萬個主題訂閱?
大梁先生 18:05
一個不夠你可以起100個 rewite規則對上不就好了
我 18:09
我還沒有去了解rewrite的用途
大梁先生 18:10
@我?有沒有覺得emq設計很強大 隻是自己想的太少[呲牙]
我 18:11
是,emq思想很厲害
我 18:14
現在我的問題是兩萬用戶端都是“x”主題,已經出貨了,那怎麼辦
我 18:15
都是“x”主題publish釋出,背景一個sub訂閱所有
helloworld 18:17
沒有其他的 主題,性能不是應該更高了嗎?不需要查找主題。
檸檬先生 18:23
但是消息投遞效率就低了,這樣造成裝置越多,投遞就效率就越低,所有裝置都收到了
大梁先生 18:23
他是阻塞到向另外一個服務發訂閱消息那裡了
檸檬先生 18:24
N對1的關系,CPU排程壓力就大了
大梁先生 18:26
嗯嗯 而且 向别的服務發送也沒必要用mqtt
helloworld 18:27
也是。下行就不行了。
我 18:27
那我的問題如何解決?已經出貨了,都是“x”主題
才兩萬個 少下行一些消息。應該問題不大把
我 18:28
要從長計議啊,未來還要出貨
檸檬先生 18:29
你用消息元件吧
不要訂閱了
我 18:29
什麼是消息元件?v2有這個功能?
你是要收裝置上報麼
我 18:30
是
大梁先生 18:30
方法挺多的都要改代碼
檸檬先生 18:30
V2支援各種差件
插件
沒研發能力就花錢買商業的
不訂閱怎麼拿資料
檸檬先生 18:32
有publish鈎子
把消息轉到消息中間件
我 18:36
中間件也要支援mqtt協定吧
kafka能支援mqtt?
檸檬先生 18:37
都支援的
不用支援mqtt協定
檸檬先生 18:38
投到kafka就行
坑也多
[呲牙][呲牙][呲牙]
我 18:41
是的,我說覺得投到kafka應該不穩定,坑多多
陳先生 21:11
有個問題請教高人們,為什麼沖突被擠下線不掉用disconnect這個鈎子?
陳先生 21:13
我覺得不科學 被擠下線 也是下線,為什麼disconnect 鈎子就不掉用呢?基于什麼考慮?
陳先生 21:15
本來想在離線狗子裡面做些事情的,後來發現被擠下線的完全不進入disconnect鈎子裡面
我 21:17
是的,同問。我也發現了這個問題。不好統計線上和離線的終端數量
檸檬先生 21:18
擠下線,不影響數量吧
重新上線了
我 21:18
就是hook那個插件鈎子,捕獲上下線的
檸檬先生 21:19
額
你這樣就不準了
檸檬先生 21:20
擠下線直接關了程序,走不到鈎子裡
光靠這個不靠譜
我 21:21
那如何統計線上終端數目?
我目前僅僅在上線鈎子 1,下線鈎子-1
但是總不對
檸檬先生 21:26
用emq_modules子產品,結合存儲來做
檸檬先生 21:27
這是最準的
我 21:28
我目前的問題就是clientid反複重新開機上線,id沖突時,總是執行了connect 1,但是從不執行disconnect-1,導緻越加越多。
陳先生 21:33
沒調用鈎子 這個現象知道,我好奇的是為什麼不進入那個鈎子?對被擠下線的用戶端來說就是disconnect
Gilbert 21:34
不是 disconnect ,程序都關了,都沒有走發送 disconnect 封包的步驟,這叫非正常斷連
陳先生 21:36
被擠下線的 為什麼會被認為非正常斷?
我 21:37
是的,個人認為被擠下線,也應該走鈎子的disconnect函數
Gilbert 21:37
因為沒發送 disconnect 封包
Gilbert 21:38
mqtt 協定本身是有disconnect 封包來通知用戶端連接配接斷開的
emq 也做了
檸檬先生 21:42
Emq做的沒錯
檸檬先生 21:43
我們上千萬裝置都沒出現過亂掉
[皺眉][皺眉] 21:45
[呲牙]360和惠普都開始用emq了,這公司馬上就可以納斯達克上市了
檸檬先生 21:47
是以說EMQ對MQTT生态貢獻太大了
檸檬先生 21:48
上周參加MQTT TC會議,MQTT 5 基本定稿了
但是幾個主席都是IBM的,主推還是他們自家的HiveMQ
檸檬先生 22:07
MQTT 5 能做很多事情,物聯網裝置形态太多了
檸檬先生 22:12
物聯網用的多的還有AMQP
檸檬先生 22:14
哈哈,是吧,MQTT 是IBM 90年代設計的,那個時候網絡更爛,都能搞得定,說明MQTT還是夠靈活穩定的