Common Host 指向向 SolrCloud 发送请求
Common Host point to Send requests to SolrCloud
我在 3 台不同的机器上安装了 solrCloud。使用 3shards
& 2replicas
创建了集合,并在其中索引了一些文档。如果我查询使用
URL 喜欢下面
http:machineIP:8983/solr/collection1/select?q=*:*
我得到了结果。如果我将 machineIP 更改为任何一个 3 机器 IP,它就会工作。
我的问题是,如果机器在请求 solr(比如机器 1)时出现故障,如何将查询请求重定向到其他可用的 solr 机器(机器 2 或 3)。
我正在寻找一个公共点(或 URL)来向 solrcloud 发送请求。如果机器(或节点)出现故障,它将处理,将请求传递给其他可用机器。
提前致谢,
酒
一种方法是使用像 Nginx 这样的代理服务器。
Nginx 允许您创建服务器位置池以将流量转发到。
配置可能如下所示:
upstream backend_hosts {
server machineIP1:8983;
server machineIP2:8983;
server machineIP3:8983;
}
server {
listen 80;
server_name example.com;
location /solr/ {
proxy_pass http://backend_hosts;
}
}
使用此解决方案,请求如下:
http://example.com/solr/collection1/select?q=:
将转发到 upstream
块中定义的池中的其中一台服务器。如果与服务器中的一个通信发生错误,它将被转发到列表中的下一个。默认情况下,流量以循环方式分配。
如果您将另一台机器添加到 SolrCloud,只需将其添加到池中即可。
Digital Ocean has a good, clearly written intro 以 Nginx 作为代理和上游模块。
我在 3 台不同的机器上安装了 solrCloud。使用 3shards
& 2replicas
创建了集合,并在其中索引了一些文档。如果我查询使用
URL 喜欢下面
http:machineIP:8983/solr/collection1/select?q=*:*
我得到了结果。如果我将 machineIP 更改为任何一个 3 机器 IP,它就会工作。
我的问题是,如果机器在请求 solr(比如机器 1)时出现故障,如何将查询请求重定向到其他可用的 solr 机器(机器 2 或 3)。
我正在寻找一个公共点(或 URL)来向 solrcloud 发送请求。如果机器(或节点)出现故障,它将处理,将请求传递给其他可用机器。
提前致谢, 酒
一种方法是使用像 Nginx 这样的代理服务器。
Nginx 允许您创建服务器位置池以将流量转发到。
配置可能如下所示:
upstream backend_hosts {
server machineIP1:8983;
server machineIP2:8983;
server machineIP3:8983;
}
server {
listen 80;
server_name example.com;
location /solr/ {
proxy_pass http://backend_hosts;
}
}
使用此解决方案,请求如下:
http://example.com/solr/collection1/select?q=:
将转发到 upstream
块中定义的池中的其中一台服务器。如果与服务器中的一个通信发生错误,它将被转发到列表中的下一个。默认情况下,流量以循环方式分配。
如果您将另一台机器添加到 SolrCloud,只需将其添加到池中即可。
Digital Ocean has a good, clearly written intro 以 Nginx 作为代理和上游模块。