我们计划为我们的多租户应用程序引入弹性搜索(AWS).我们有以下选项,
使用每个租户一个索引
每个租户使用一种类型
所有租户与自定义路由共享一个索引
根据这篇博客https://www.elastic.co/blog/found-multi-tenancy,第一个选项会产生内存问题.但不清楚其他选择.
看来如果我们使用第三个选项那么就没有数据隔离.不确定安全性.
我认为第二种选择是更好的选择,因为数据会被隔离.
帮助我确定使用多租户进行弹性搜索的最佳选项.
请注意,我们将利用AWS基础架构.
我们现在正在考虑同样的问题,Elasticsearch的以下文章非常有用.
从这里开始:https://www.elastic.co/guide/en/elasticsearch/guide/current/scale.html
并阅读每篇后续文章,直至找到这篇文章:https://www.elastic.co/guide/en/elasticsearch/guide/current/finite-scale.html
以下两个对我来说非常令人大开眼界:
https://www.elastic.co/guide/en/elasticsearch/guide/current/faking-it.html https://www.elastic.co/guide/en/elasticsearch/guide/current/one-big-user html的
基本要点:
每个客户的别名
碎片路由
现在,您可以为大客户提供索引,为小客户提供共享索引,并且它们看起来都是单独的索引