小编典典

Elasticsearch作为图像服务器与Apache

elasticsearch

我使用elasticsearch查询股票报价。我的浏览器调用了弹性簇,该簇返回<img>标签内的URL列表。然后,浏览器调用图像(相关报价的股票图表)。这些图像位于单独的Apache
2 http服务器上。这两台服务器都是相同的Centos四核2.0Ghz,16GB RAM,1Tb HD。

通过阅读以前的SO帖子,似乎可以在Elasticsearch中存储base64图像。

有没有人在elasticsearch中创建过生产图像服务器,或者将基准与静态Web服务器进行了比较?就我而言,图像为80到150 kb

我的具体问题是(1)将文档映射中的图像作为二进制和弹性回复base64图像而不是<img>标签,然后再调用Apache
会更快吗?(2)Elasticsearch作为图像服务器是否可以与静态Nginx或Apache图像服务器媲美?


阅读 371

收藏
2020-06-22

共1个答案

小编典典

Elasticsearch是一个 搜索引擎 (除其他外),擅长为您的数据提供快速搜索。它 不是内容服务器

我将图像存储在ES中的唯一原因是是否需要搜索类似图像。对于您的情况,您似乎愿意使用Elasticsearch作为内容服务器来检索图像,最好将其存储在内容传送网络(CDN)中,就像现在使用第二个Apache服务器一样。

但实际上,如果您有少量的股票报价文件,即没有数百万个,则可以在ES中将图像的base64存储在ES中。

最好的办法是始终尝试一下,看看集群如何处理它。也许对于您的特定用例来说完全可以。只是您将在ES上增加额外的负载,这并不是要一开始就处理的。

例如,如果您返回十个结果,您的响应将从几KB增长到至少1
MB,并且您的用户将需要等待该传输完成才能看到一些结果,而如果您将图像存储在其他位置,您至少可以非常快速地向用户显示结果,并让浏览器以异步方式处理图像检索,而无需关心它。

2020-06-22