gpt4 book ai didi

c++ - 使用 Nginx 作为可扩展的 Comet 服务器

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:28:20 25 4
gpt4 key购买 nike

我知道如何水平扩展一个简单的 nginx 服务器并对其进行负载平衡,但我想知道我是否可以在将它与 nginx_http_push_module 一起使用时以相同的方式扩展它。

我最关心的是其他服务器上的订阅者如何访问在其他服务器上创建的 channel 。

谁能给我指明方向。

最佳答案

你可以,但是......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]/publish
  • /x/publish 是您要发布的本地 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。

这样一来,一个客户只有一个 channel ,两个客户之间没有共享 channel 。

关于c++ - 使用 Nginx 作为可扩展的 Comet 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7794073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com