【发布时间】:2019-07-15 08:37:01
【问题描述】:
我们当前的软件解决方案使用本地 ES 安装(1 个集群和 1 个节点)来存储文档,以便以后用户能够搜索它们。节点的摄取不是连续完成的,但假设每月一次使用批量。文档集不是很大,文档的大小很小。该解决方案在普通笔记本电脑(配备 8Gb RAM 的 i5)中正常运行,没有问题,因为该用例不需要很高的性能。
现在我们的软件解决方案面临两个新要求:
- 应该为其他客户打上品牌
- 同一最终用户(使用同一台机器)应该能够处理我们解决方案的多个实例(来自不同客户)
由于这两个新要求,当前的解决方案无法使用,因为所有文档都将使用相同的索引在同一节点中进行索引。进一步搜索将显示来自不同客户的文档。
解决此问题的第一种方法是根据客户对文档进行索引,即为每个客户创建索引并在相应索引上创建索引/搜索文档。但是,我们正在考虑另一种解决方案,以实现以下目标:
- ES 索引信息必须从系统中轻松删除(即通过删除数据文件夹)
- 每个客户都可能希望使用我们解决方案的更新版本(即使用 ES 7),而其他客户将继续使用旧版本(即 ES 6)
基于此,我认为解决方案是在同一台 PC 上安装多个 ES,每个都具有其客户相关配置:
- 不同的集群
- 不同的节点名称和端口
- 不同的 ES 版本
那么我的问题是,有没有人遇到过类似的用例?安装几个 ES 让他们的服务同时连续运行会不会是性能问题?使用此配置可能会出现哪些问题?
任何帮助将不胜感激。
更新
根据收到的答案以及未来可能的答案,我想进一步澄清一下我们的解决方案 + ES 的架构:
- 我们的解决方案是在普通笔记本电脑上执行的桌面应用程序
- 单用户
- 即使在 PC 中安装了多个客户特定的解决方案,一次也只有一个处于活动状态
- 当用户想要搜索特定文档时会偶尔执行搜索(就像有人打开 Wikipedia 搜索文章一样)
所以主题...
- 基础设施故障
- 数据复制
- 高搜索需求下的性能
... 不重要
【问题讨论】:
标签: elasticsearch