在文章http://www.cometdaily.com/2008/05/15/the-many-shades-of-bayeuxcometd-2/index.html筆者介紹:的cometd服務與廣播信道
常與PubSub的,開發商覺得有必要,以提供私人信息到客戶端爲每個用戶創建一個通道。例如,如果交易系統想要通知用戶完成交易,則誘惑是創建像/ trades/a_user_id這樣的頻道,並且每個用戶將訂閱他們自己的頻道。這種方法很有效,但並不是解決這個問題的最合理的方式,並且需要安全代碼來防止未經授權的客戶訂閱其他用戶的頻道。
爲特定用戶實現消息的服務和廣播頻道之間的權衡是什麼?我理解權衡的安全性方面,但資源開銷又如何?我不明白爲什麼會有更多的資源用於廣播頻道,而不是定製路由服務。如果你能解釋爲什麼一個人在用例上比另一個更好,而不是一個明智或不明智的陳述,那可能會幫助我做出決定。
感謝您的快速回復!我瞭解偷偷摸摸的漏洞,讓我們暫時忽略這一點。如果我們在服務通道中創建與廣播通道相同的路由行爲,跟蹤訂戶的用戶標識,那麼它是不是消耗了相同數量的資源,還是隻有內存需要考慮? 從查看代碼看來,像掃描和初始化這樣的通道似乎存在一些開銷。當有很多通道時,這會對服務器的性能產生很大的影響嗎? – Chap
您可以爲每個'user_id'使用一個服務頻道,但這不是必需的。話雖如此,CometD已經過測試可以擴展到數以萬計的渠道,但是如果沒有必要,您仍然要注意不浪費資源。 CometD API允許您高效地將消息發送到單個客戶端,因此寫這種應用程序非常容易。 – sbordet