Unicorn 共享插座

Unicorn 共享插座

网络上可以使用 unix 套接字吗?运行 unicorn 的多个应用服务器可以使用同一个共享套接字吗?

我想要实现的设置如下:

        nginx
 Unicorn     Unicorn

nginx配置:

upstream github {
    server unix:/shared/unicorn.sock;
}

独角兽配置 (x2)

listen '/shared/unicorn.sock'

我知道可以做类似的事情:

upstream unicorns {
  server 192.168.1.100:5000;
  server 192.168.1.101:5000;
}

然而我认为这并不理想,因为您无法享受 Unicorn 自行进行负载平衡的好处,而且您必须提前指定 IP 地址。

几年前 GitHub在博客中介绍了他们的 Unicorn 设置,我认为他们描述了类似的设置,但不清楚如何实现这一点。

答案1

Unix 套接字仅在该系统内工作。网络上的套接字称为 TCP 连接。实现此目的的方法是让 Unicorn 监听 TCP 套接字,并配置 nginx 以将它们用作上游(如您所提到的)。Unicorn 没有分布式负载平衡;您需要 nginx 来进行负载平衡。

相关内容