http - 将请求路由到多个后端服务器Dropwizard和Elasticsearch

标签 http nginx elasticsearch frontend dropwizard

我必须后端服务器:

  • 一个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/

    相关文章:

    python - Flask App 只返回 404,不管它是如何运行的

    nginx - yii2 中的速率限制与使用 nginx 进行速率限制

    elasticsearch - 如何标准化 ElasticSearch 分数?

    elasticsearch - 如何将嵌套类型与 NEST 客户端一起用于 Elastic Search

    javascript - 每 30~ 分钟从服务器检索数据的最佳方法?

    python - 发出 HTTP[S] 请求的首选方式

    Java HttpURLConnection如何接收来自服务器的多个响应

    linux - Haproxy 中大量的 TIME_WAIT

    php - 使用 nginx 通过 index.php 路由请求

    parsing - Elasticsearch 索引 html 文件内容的正确策略