2011-10-17 108 views
1

我知道我怎麼可以水平縮放一個簡單的nginx服務器並負載平衡它們,但我想知道是否可以用nginx_http_push_module使用它同樣的方式進行縮放。使用Nginx作爲一個可伸縮的彗星服務器

最讓我擔心的是,其他服務器上的訂閱者如何在其他服務器上創建的頻道可訪問。

有人能指出我的方向。

回答

2

你可以,但.... 1 /爲發佈 你應該讓每個服務器上像這樣

location /1/publish/ 
    { 
    resolver 127.0.0.1; 
    rewrite ^/([0-9])/publish.*$ /publish break; 
    proxy_pass http://chat1.attractiveworld.net; 
    proxy_redirect default; 
    } 
  • 代理你應該讓這對所有服務器(/ [1- N] /發佈
  • /X /發佈是你的本地URL發佈尊重一些JavaScript保護。
  • 做一個表(共享內存),或在數據庫知道你的用戶是(用戶)

2 /爲用戶 每個服務器

location /1/activity 
    { 
    rewrite ^/([0-9])/publish.*$ /activity break; 
    proxy_pass  http://chat1.attractiveworld.net/activity; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_method GET; 
    proxy_read_timeout 40; 
    proxy_send_timeout 40; 
    proxy_connect_timeout 40; 

    } 

在它的本地URL接收消息。

這樣,您的一個客戶端就有一個通道,兩個客戶端之間沒有共享通道。

+0

非常感謝。我們可以用這種方式分享1個以上的用戶。因此用戶可以與其他服務器上的用戶聊天,因爲這基本上是我想要實現的。 –