elasticsearch 同时使用清漆和elasticsearch是一个糟糕的架构选择吗?,elasticsearch,architecture,varnish,elasticsearch,Architecture,Varnish" /> elasticsearch 同时使用清漆和elasticsearch是一个糟糕的架构选择吗?,elasticsearch,architecture,varnish,elasticsearch,Architecture,Varnish" />

elasticsearch 同时使用清漆和elasticsearch是一个糟糕的架构选择吗?

elasticsearch 同时使用清漆和elasticsearch是一个糟糕的架构选择吗?,elasticsearch,architecture,varnish,elasticsearch,Architecture,Varnish,我有一个用户使用的REST服务,它前面有一个Varnish缓存,以保护数据库不受太多请求的影响 一个新的要求是能够对我们的服务公开的数据集执行快速搜索,为此我们开始使用Elasticsearch 保持清漆和弹性是一种不好的方法吗?我们应该只使用Elasticsearch吗 注:弹性是NRT系统这一事实不是问题 谢谢我不认为这是个问题,只要你意识到他们正在解决不同的问题,你可能不应该让varnish缓存你委托给elasticsearch的任何东西 因此,我们的arch(超高级别)看起来有点像负载平

我有一个用户使用的REST服务,它前面有一个Varnish缓存,以保护数据库不受太多请求的影响

一个新的要求是能够对我们的服务公开的数据集执行快速搜索,为此我们开始使用Elasticsearch

保持清漆和弹性是一种不好的方法吗?我们应该只使用Elasticsearch吗

注:弹性是NRT系统这一事实不是问题


谢谢

我不认为这是个问题,只要你意识到他们正在解决不同的问题,你可能不应该让varnish缓存你委托给elasticsearch的任何东西

因此,我们的arch(超高级别)看起来有点像负载平衡器>varnish>apache web机器

这些web机器的后端包括elasticsearch和mysql(以及其他)

我们的网站主要分为两个方面:1)主页和类似内容,主要由服务器上呈现的CMS和html驱动。2.)具有restful端点的单页web应用程序。客户机负责呈现他们自己的HTML(我们在这里使用react)

对于较重的CMS材料,我们会尽我们所能。对于任何依赖elasticsearch的内容,我们都会让varnish传递这些请求。我们的这种URL模式是可预测的,所以它只是varnish.vcl中的一节

这个想法是,搜索应该是最新的。我们也没有在CMS类型的东西上使用ES,但更多的是在我们的网站上使用单页web应用程序。CMS内容一天只更改几次,但SPA内容在整个集群中有不断的更改(大约每秒25次索引操作)。

请考虑以下几点:


Varnish去掉GET请求的JSON主体,因为它是无效的。因此,在弹性搜索之前直接添加它可能会带来麻烦。在弹性搜索之前为搜索查询添加一个简单的API可能会奏效。

那么这是一个好的做法还是坏的做法呢?