2011-08-17 39 views
2

現在我做的RND約推Android和第一我在工作: MQTT使用RSMBMQTT可處理或RSMB可處理多少用戶和推送消息?

問題是有多少客戶能處理?我聽說只有1032,在這種情況下,這不適合我的應用程序。 (如果它是可配置的如何?)

之後,這種惡習潛入C2DM。

+0

你到底意味着什麼1032,併發客戶端? RSMB =真正的小消息代理? – home

+2

根據此評論http://tokudu.com/2010/how-to-implement-push-notifications-for-android/#comment-436和http://tokudu.com/2010/how-to-implement- push-notifications-for-android /#comment-390 – Mikey

回答

3

縮放基於MQTT的基礎架構有多種不同的方式,橋接模型非常重要。

RSMB是IBM alphaWorks技術,不提供生產使用許可證。 IBM WebSphere MQ Telemetry Daemon for Devices產品/支持版本具有更高的可擴展性(Linux上的WMQ Telemetry的IBM性能報告演示了至少100,000個併發連接的客戶端發送256字節消息,請參閱http://www-01.ibm.com/support/docview.wss?uid=swg24027711)。

7

RSMB確實限於1024個開放式連接。這很可能是由於他們使用select()調用來複用套接字連接。它理論上可以通過在Linux上重新編譯glibc來改變,以支持更多的套接字,但不是你想要在實踐中做的事情。

Mosquitto不限於這種方式 - 儘管您的操作系統將採用自己的限制。在Linux上,你可以看到打開的連接的數量與ulimit -n,增加它像ulimit -n 2048

在這兩種情況下,這也是值得考慮的是,你可以彌合的經紀人之間的連接,並通過限制每個代理的連接,從而爲客戶提供支持大量1000,然後連接多個代理。這很可能是Facebook在使用MQTT的新Messenger應用程序中採用的方法。

+0

所以如果我使用RSMB,默認情況下我只能擁有1024個客戶端?嗯,我不知道我會有多少客戶 – Mikey