Elasticsearch 单节点可靠性

Elasticsearch Single Node Reliability

我正在考虑将 AWS 的固定 Elasticsearch 服务用作单节点集群,以允许在 100MM 小记录(人名及其公司等,以及其他属性)的记录集中进行搜索。阅读量很大,三个月更新一次

https://aws.amazon.com/elasticsearch-service/

我想只使用一个节点来节省亚马逊成本。

我将继续在 AWS RDS 中掌握我的数据,因此如果发生 "disaster"。

,我将从这里恢复

是否可以认为单节点 Elasticsearch 服务器与单节点 MySQL 数据库一样可靠(在宏伟计划中相当可靠)?

在理论上,可靠性 can defined as 是成功的概率,换言之 1-probability of failure

众所周知 no systems operate with 100% reliability 单点故障(=单节点)更是如此,即故障概率永远不会为 0,即使对于亚马逊怪物也是如此。所以,按照绝对论,单个节点不可靠

也就是说,可靠性的概念最终总是相对的(与上面定义的绝对意义相反),这意味着最终由您决定您认为可靠与否,即您不在乎你的节点是否在 3 分钟内 day/week/month 宕机一次并且仍然达到 99.999% 的正常运行时间。

另一个非常具体的问题是,您需要弄清楚单个节点是否可以容纳 100MM 文档并仍然服务于搜索请求、聚合和您拥有的东西,速度足够快并且仍然对您的用户有益。

要达到的第一个限制通常是堆的数量,而不是supposed to be higher than 30.5GB。粗略地说,您需要弄清楚您的 100MM 文档是否可以保存在具有 30.5 GB 堆的单个节点中。测试很简单:提供你的 ES 服务,用你的所有文档加载它,然后 运行 一些模拟用户预期负载的负载测试,你会很快发现你是否 运行 内存不足与否,这个问题的答案最终将是直截了当的。