首页云计算 正文

nginx与Elasticsearch结合使用

2024-11-19 7 0条评论
  1. 首页
  2. 证书相关
  3. nginx与Elasticsearch结合使用

nginx与Elasticsearch结合使用

发布日期:2017-04-02

Elasticsearch是一种先进的,高性能的,可扩展的开源搜索引擎,提供全文搜索和实时分析的结构化和非结构化的数据。

它的特定是可以通过HTTP使用 RESTful API,很容易的融入现有的web架构。因此在高并发的情况下,采用nginx反向代理负载均衡到多台Elasticsearch 服务器上。

架构图:

这种架构的优点是:

  1. 记录每个API请求的日志
  2. 支持大量的客户端连接,不管有没有启用keepalives,比长连接(使用keepalives)到elasticsearch服务器小的多
  3. 负载均衡的请求Elasticsearch服务器
  4. 缓存数据,减少同一内容再次请求Elasticsearch服务器。NGINX Plus 还提供HTTP API 对缓存数据的清除接口
  5. 提供主动健康检测(仅nginx plus),不断检测后端Elasticsearch服务器是否正常,并主动的进行切换。
  6. 报告丰富的监控指标(仅nginx plus),提供监控和管理。
  7. 支持通过HTTP API动态的配置上游服务器组(仅nginx plus),可以从上游服务器组中添加和删除,上线或下线,改变权重。

下表比较Elasticsearch 、Elasticsearch + nginx F/OSS、Elasticsearch + NGINX Plus 的功能:

 

Elasticsearch client nginx F/OSS NGINX Plus
Horizontal scalability Y Y Y
Keepalive optimization Y Y
Centralized HTTP access logs Y Y
Queuing and concurrency control Y
Response caching Y Y
Failover of failed connections Y Y Y
Active monitoring of Elasticsearch nodes Y (some clients) Y
Advanced load balancing methods Y Y
Weighted load balancing Y Y
Dynamic reconfiguration Y
Status monitoring Y
General-purpose HTTP load balancing Y Y

当使用NGINX Plus高可用性主动或被动配置负载均衡的Elasticsearch 服务器集群时,Elasticsearch 客户端通过nginx plus请求,而不是直接连接到Elasticsearch服务器,可以根据实际情况任意的扩展Elasticsearch服务器不用更新客户端。

部署NGINX Plus + Elasticsearch

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 proxy_cache_path / var / cache / nginx / cache keys_zone = elasticsearch : 10m inactive = 60m ; upstream elasticsearch_servers {      zone elasticsearch _servers 64K ;      server 192.168.187.132 : 9200 ;      server 192.168.187.133 : 9200 ; } match statusok {      status 200 ;      header Content Type ~ “application/json” ;      body ~ ‘”status” : 200’ ; } server {      listen 9200 ;      status_zone elasticsearch ;      location / {          proxy_pass http : //elasticsearch_servers;          proxy_http _version 1.1 ;          proxy_set_header Connection “” ;          proxy_cache elasticsearch ;          proxy_cache _valid 200 302 10m ;          proxy_cache _valid 404 1m ;          proxy_connect _timeout 5s ;          proxy_read _timeout 10s ;          health_check interval = 5s fails = 1 passes = 1 uri = / match = statusok ;      }      # redirect server error pages to the static page /50x.html      error _page 500 502 503 504 / 50x.html ;      location = / 50x.html {          root / usr / share / nginx / html ;      }      access_log logs / es_access . log combined ; } server {      listen 8080 ;      root / usr / share / nginx / html ;      location / {          index status . html ;      }      location = / status {          status ;      } }

负载均衡、对有效的请求缓存10分钟、主动的健康监测、状态收集。

Elasticsearch是一个强大而灵活的搜索引擎,与nginx完美构建成一个可扩展高性能高可用性架构。

 

文章转载来自:trustauth.cn

上一篇:MySQL管理工具MySQL Utilities — mysqluserclone (30)

下一篇:Received empty response from Zabbix Agent问题解决

相关新闻

  • SSL证书对网站访问速度有影响吗
  • 个人隐私数据泄露有哪些危害?如何预防?
  • 部署SSL证书有哪些常见的错误
  • 国际证书、国产证书和国密证书
  • 游戏开发为什么离不开代码签名?
  • 僵尸网络攻击手法与防范方式
  • SSL证书助力保障网络数据安全
  • 网站加密与不加密区别
  • SSL证书有哪些类型和价格差异
  • ca机构颁发的证书包括那些内容呢?
文章版权及转载声明

本文作者:admin 网址:http://news.edns.com/post/112974.html 发布于 2024-11-19
文章转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码