分布式開源物聯網MQTT訊息伺服器EMQ怎麼做資料的儲存?

時間 2021-06-08 15:11:02

1樓:陸興文

可以看看我簡單寫的外掛程式: https://github.com/luxingwen/emqx-mysql

比較簡陋,若有其它功能要求可以直接聯絡我,讓我把這個外掛程式越來越完善

2樓:無腦仔的小明

可以通過EMQ自帶的Hook函式,把訊息發到Kafka中介軟體,然後通過其他Kafka客戶端讀取。

這個是我很久之前寫的,看一下對你有沒有幫助。

物聯網架構成長之路(8)-EMQ-Hook了解、連線Kafka傳送訊息 - 無腦仔的小明 - 部落格園

3樓:2pw2

emqtt商業版本是帶訊息持久化的,開源版本需要自己做。

我們也在使用emq,目前方案是做乙個外掛程式連線到kafka,把收到的訊息都丟進去。後端在訂閱kafka訊息,這樣可以接入spark等非同步處理訊息。當然,直接從emq到資料庫也是可行的,不過效能肯定沒有到中介軟體好。

4樓:

距離上次回答這個問題已經快兩年了, 我重新整理了一下現在的思路

物聯網裝置的資訊可以先通過 MQTT/TLS 連線到 emq 服務集群上

後端 mqtt 客戶端通過[共享訂閱](https://

docs.emqx.io/broker/v4/

cn/guide.html#shared-subscription

) 的方式, 將乙個資料量很大的topic 分流成多個資料流, 並將這些資料丟進kafka集群中

kafka 的資料可以通過 flink 等流處理框架, 對資料進行處理或者儲存

關於儲存引擎, 我們可能有多種選擇, 包括 mongodb, [TDengine](https://

), 以及其他的一些時序資料庫, 根據需求不同, 也可以選擇阿里雲的日誌系統.

5樓:sterefine

EMQ - 百萬級開源MQTT訊息伺服器 - EMQ - 百萬級開源MQTT訊息伺服器 2.2-beta.1 文件

從以上文件來看,EMQ是訊息伺服器,既然是MQTT訊息伺服器,當然可以有client來訂閱,當然只有乙個訂閱者也是可以的,這樣可以變成非同步,也可以去耦合,降低開發難度,但是訊息伺服器分發的作用沒有太多的體現,考慮到擴充套件,直觀地看上去是可以的。

分布式資料庫的分布式事務?

NebulaGraph 業務系統往往是通過子系統組合的模式來完成,這些子系統很可能是不同的資料庫,甚至可能是 友商 的,互相直接無法保證事務,還是得業務自身保證。 codingfor 你說的單機事物,我的理解其實是指single threaded excution,而不是指在單台機器上做事物 暗含了...

關於分布式的問題?

簡單來說,分布式就是。分布在不同的計算機上進行資料處理的一種方式。簡稱 分布式 大資料系統是一種分布式系統。 ZeaTalk 抽象點來看,只要能把計算資源 儲存資源分攤到多個節點實現同一件事情,都可以稱之為分布式,所以你列舉的那些都算。另外,大資料和分布式的關係,分布式是實現大資料儲存和計算的手段,...

想學習分布式鎖 分布式事務這些,有沒有好的書籍推薦?

吳垚 說到分布式事務,不得不提兩位圖靈獎得主的合作文章Consensus on Transaction Commit.Jim Gray,Leslie Lamport.然後事務的話看一作的事務概念與事務的那本書,分布式的話看二作的個人主頁。與其看其他的把你搞的雲裡霧裡的二手知識,不如直接看原作者的書和...