![elasticsearch](https://img-blog.csdnimg.cn/img_convert/78aa37290902d7d8160210996ce0fe04.png)
elasticsearch
Elasticsearch很棒,但是针对高负载进行优化始终很棘手。 这将不再是另一篇“优化Elasticsearch的技巧和窍门”了-有很多很棒的文章。 我将集中讨论一个狭窄的用例-多租户系统,即支持多个客户/用户(租户)的系统。
您可以通过三种不同的方式构建多租户搜索引擎:
- 每个租户的集群-这是最难管理的,并且需要大量的devops自动化。 根据客户类型的不同,完全隔离客户可能是值得的,但这种情况很少发生
- 每个租户的索引–最初可能很好,并且不需要额外的编码(您只需在查询的URL中参数化“ index”参数),但是随着客户群的增长,可能会引起问题。 另外,跨索引支持一致的映射和设置可能听起来有些棘手(例如,有些可能拒绝更新,而另一些可能不依赖于所索引的内容)。 将数据移至较冷的索引也变得更加复杂。
- 基于租户的路由–这意味着您将所有内容都放在一个群集中,但是将搜索路由配置为特定于租户,这使您可以在逻辑上隔离单个索引中的数据。
通常,最后一个似乎是首选。 什么是路