2014-01-17 52 views
5

我開發與Socket.io使Node.js應用在Heroku上部署的Dyno相同。 Socket.io使用RedisStore及其PUB/SUB。 Socket.io客戶端與her​​oku中的一個dyno完美兼容。但是當我增加一個以上的dyno(比如兩個)時,socket io客戶端請求不起作用。Heroku的多個賽道socket.io

請讓我知道是否需要在客戶端的任何具體配置而設置的Heroku具有socket.io支持多種網絡賽道。

回答

4

抱歉,Heroku的不支持粘性會話,它不是由Socket.io支持

粘性負載平衡如果計劃分發不同的進程或機器之間 連接的負載,你必須使 確保與特定會話ID相關聯的請求連接到發起它們的進程 。

Using multiple nodes

+0

來自同一篇文章:Fedor Indutny創建了一個名爲sticky session的模塊,可以確保文件描述符(即:連接)根據原始remoteAddress(即:IP)進行路由。 '支持這一點。 –

1

有一個在上engine.io github一個問題很大的線程。幫助我更好地理解了粘性會話,engine.io和heroku的問題。現在

1

粘性會話由Heroku的支持 - 但只有當你加入他們的開發者(beta)計劃。

根據我的經驗時的Heroku與Socket.io_Redis插件,啓用的設置結合socket.io效果很好。