为生产环境做好准备
许多团队依靠 Elasticsearch 来运行其关键服务。为了让这些服务保持运行,你可以设计你的 Elasticsearch 部署,使其即使在大规模停机的情况下也能保持可用。为了让它保持快速运行,你还可以将部署设计为能够响应生产工作负载。
Elasticsearch 被构建为始终可用并能按需扩展。它通过分布式架构实现这一点。通过分布式部署你的集群,你可以让 Elastic 保持在线并响应请求。
在发生故障时,Elasticsearch 提供跨集群复制和集群快照等工具,可以帮助你快速回退或恢复。你还可以使用跨集群复制,根据用户和资源的地理位置来服务请求。
Elasticsearch 还提供安全和监控工具,帮助你保持集群的高可用性。
使用多个节点和分片
当你迁移到生产环境时,需要向集群中引入多个节点和分片。节点和分片是使 Elasticsearch 具有分布式和可伸缩性的关键。这些节点和分片的大小和数量取决于你的数据、用例和预算。
如果你刚刚入门,这些概念并不是必需的。你在生产环境中部署 Elasticsearch 的方式决定了你需要了解的内容:
- 自管理 Elasticsearch:你负责设置和管理节点、集群、分片和副本。这包括管理底层基础设施、扩展,以及通过故障转移和备份策略确保高可用性。
- Elastic Cloud:Elastic 可以根据工作负载变化自动伸缩资源。选择不同的部署类型,为你的用例应用合理的默认值。对节点、分片和副本的基本了解仍然很重要。
- Elastic Cloud Serverless:你无需担心节点、分片或副本。这些资源在无服务器平台上 100% 自动化,该平台旨在随你的工作负载伸缩。
了解更多关于节点和分片的信息。
用于灾难恢复和地理邻近的 CCR
为了在节点之间有效地分配读写操作,集群中的节点需要彼此之间良好、可靠的连接。为了提供更好的连接,你通常会将节点放置在同一数据中心或附近的数据中心中。
将节点共同放置在单一位置会让你面临单次停机导致整个集群离线的风险。为了保持高可用性,你可以准备一个第二个集群,通过实现跨集群复制(CCR),在发生灾难时接管工作。
CCR 提供了一种方式,将索引从主集群自动同步到可以作为热备份的辅助远程集群。如果主集群发生故障,辅助集群可以接管。
你还可以使用 CCR 创建辅助集群,在地理位置上靠近用户的地方服务读请求。
了解更多关于跨集群复制和弹性设计的信息。
你还可以对集群进行快照,以便在发生故障时恢复。
安全和监控
与任何企业系统一样,你需要工具来保护、管理和监控你的 Elasticsearch 集群。集成到 Elasticsearch 中的安全、监控和管理功能使你能够使用 Kibana 作为管理集群的控制中心。
- 了解如何保护 Elasticsearch 集群
- 了解如何监控你的集群
集群设计
Elasticsearch 提供许多选项,允许你配置集群以满足组织的目标、要求和限制。你可以参阅以下指南,了解如何调整集群以满足你的需求:
- 弹性设计
- 针对索引速度调优
- 针对搜索速度调优
- 针对磁盘使用调优
- 针对时间序列数据调优
许多 Elasticsearch 选项都带有不同的性能考虑和权衡。确定你的用例最优配置的最佳方法是使用你自己的数据和查询进行测试。