1
我從railscast #401讀到,長時間的連接實際上佔用了rails服務器中的線程。 Puma服務器可以優化地採用20-30個併發連接。這是否意味着我將不得不分離Heroku實例以支持我的Rails應用程序(例如,1K-5K人在聊天?)。pubnub會影響我的rails應用程序的併發性嗎?
還是不影響,因爲所有的聊天連接都直接與Pubnub的服務器相連?
我從railscast #401讀到,長時間的連接實際上佔用了rails服務器中的線程。 Puma服務器可以優化地採用20-30個併發連接。這是否意味着我將不得不分離Heroku實例以支持我的Rails應用程序(例如,1K-5K人在聊天?)。pubnub會影響我的rails應用程序的併發性嗎?
還是不影響,因爲所有的聊天連接都直接與Pubnub的服務器相連?
是的,您是正確的,您的最終用戶(瀏覽器客戶端)將通過PubNub連接(發佈/訂閱)而不涉及您的服務器。
換句話說,你不需要讓你的Rails /服務器充當訂戶。只需要爲您的客戶提供the appropriate PubNub JavaScript的網頁即可直接與對方聊天,而不會涉及您的服務器。
這從在下面的鏈接的例子的一個圖像是一個很好的例子
這裏有一些鏈接,應該是有幫助:
嗨克里斯,回答這個問題將根據您的實施不同。如果您只在應用程序中初始化一個Pubnub客戶端,它最多隻會保留一個或兩個連接(一個用於訂閱事件,另一個用於非訂閱事件)。另外,您確定要通過服務器傳遞整個流量嗎?在客戶端使用JS SDK進行聊天會不會很容易,因此客戶端的瀏覽器直接連接到我們的服務器,從而減輕了您的負擔? –
Chris,Tomasz指出,爲什麼你需要你的Heroku/Rails服務器應用程序參與聊天?爲什麼不只是讓JavaScript客戶端(你的客戶)與對方聊天,就像這種用例的意圖一樣。有一些有效的用例需要你的服務器參與,但我可能會建議一種不同的方法。請提供關於爲什麼需要您的服務器參與聊天的更多詳細信息。 –