2017-05-04 59 views
1

我有一個使用pub/sub的大量聽衆的任務。這裏被簡化示例訂閱從docsRedis(redis-py)可以處理多少個通道?

r = redis.StrictRedis(...) 
p = r.pubsub() 
p.subscribe('my-first-channel', 'my-second-channel', ...) 

for message in p.listen(): 
...  # do something with the message 

假設我將訂閱客戶端用於溝道client-#id。每個客戶的一個渠道。問題是:如果我有成百上千的用戶,可以使用這種方法嗎?我是否應該爲其中一個頻道訂閱所有頻道,並在訊息中編碼user-#id以過濾接收?

回答

0

這是您如何配置Redis以及您將生成的流量的問題。客戶訂閱只是一個網絡連接,所以你可以有很多這樣的。 Redis功能非常強大,即使在相對較弱的CPU核心上也可以輕鬆飽和服務器的NIC,因此,如果所有100K的客戶端始終都在進行通信,這可能會成爲瓶頸。在這種情況下,您需要部署Redis集羣以擴展並處理負載。

相關問題