好的,我说我有简单的Web服务器实例,它总是响应“Hello world”,这个简单的服务器只能同时处理1K连接。
我必须同时处理1M的http请求,所以我用我的web服务器实例克隆1K节点。
但我只有一个切入点。所有要求都通过一点来说。
那么应该作为委托请求的入口点放置什么?什么软件可以将1M请求传递给1K Web服务器?
答案 0 :(得分:6)
如果您使用循环DNS,请求可以通过多个点。
如果您想在Linux上使用反向代理软件,那么Nginx就是您的最佳选择。
node-http-proxy似乎也很受欢迎。
Golang在其httputil包中内置了一个ReverseProxy。
(如果我没有弄错的话,上面的三个都会在Linux上使用epoll
。但是不能保证任何软件总能处理1M连接。这取决于很多因素。)
负载平衡是一个广泛的主题。以下是一些阅读链接:
https://en.wikipedia.org/wiki/Round-robin_DNS
https://en.wikipedia.org/wiki/C10k_problem
https://en.wikipedia.org/wiki/Clustered_web_hosting