我必须后端服务器:

  • 一个dropwizard服务器,主要用作应用程序服务器。前端使用此服务器执行除搜索之外的所有操作。
  • 由dropwizard服务器提供的Elasticsearch服务器,该服务器为所有搜索查询提供前端。

  • 知道dropwizard在端口8080上运行并且elasticsearch在端口9200上运行,是否有任何策略可以使用单个前端(例如nginx或apache)将搜索请求路由到elasticsearch,将非搜索请求路由到dropwizard(添加额外的 header )区分搜索请求或在搜索请求的网址中使用其他路径)?

    我愿意接受任何建议或配置,

    提前致谢,

    最佳答案

    Nginx配置

    您可以通过它们自己的端口代理它们:

    server {
      listen 8080;
    
      location / {
        proxy_pass http://dropwizard-host:8080/;
      }
    }
    
    server {
      listen 9200;
    
      location / {
        proxy_pass http://elasticsearch-host:9200/;
      }
    }
    

    或者将它们映射到具有不同路径的同一端口:
    server {
      listen 80;
    
      location /dropwizard {
        proxy_pass http://dropwizard-host:8080/;
      }
    
      location /elasticsearch {
        proxy_pass http://elasticsearch-host:9200/;
      }
    }
    

    关于http - 将请求路由到多个后端服务器Dropwizard和Elasticsearch,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30175941/

    10-11 17:41