2017-02-15 750 views
0

我MQTT客戶端接收的主題和消息像下面如何處理由MQTT客戶機接收大量的信息

client.on('message', function (topic, message) {//this function is executed every 2s 
    let msg = message.toString(); 
    processMessage(message);//this takes long time 
}) 

client.on將每隔1秒調用,這是依賴於另一個MQTT客戶端,發佈mqtt消息。

而processMessage()可能需要大約2秒來處理(I/O和DB操作)

如果我離開它這樣,就會造成問題。 你們能指導我一個正確的方法來處理這種情況嗎?

例如使用MemeCache快速緩存收到的數據? 例如使用多線程?

預先感謝

+0

這是一個爆率還是連續的?如果是連續的,那麼用兩倍的速度數據來它就可以處理它總是會最終吹起來的系統 – hardillb

回答

0

如果可以並行化而processMessage,然後是,2個平行 線程2秒的平均處理時間應能夠處理的1/ 消息到達率第二。

2秒處理時間似乎長給我,甚至對I/O和DB操作, 所以我想看看那裏第一次。

相關問題