亚马逊开放搜索服务 最近介绍 带备用的多可用区,一种部署选项,旨在为企业关键工作负载提供增强的可用性和一致的性能。借助此功能,托管集群可以实现 99.99% 的可用性,同时保持对区域基础设施故障的弹性。
在这篇文章中,我们将探讨搜索和索引如何与备用多可用区配合使用,并深入研究有助于其可靠性、简单性和容错性的底层机制。
背景
具有备用功能的多可用区跨三个可用区部署 OpenSearch Service 域实例,其中两个区域指定为活动区域,一个区域指定为备用区域。此配置通过在所有区域中保持相同的容量来确保一致的性能,即使在发生区域故障的情况下也是如此。重要的是,这个备用区遵循 静态稳定设计,无需在故障期间进行容量配置或数据移动。
在常规操作期间,活动区域处理读取和写入请求的协调器流量以及分片查询流量。另一方面,备用区域仅接收复制流量。 OpenSearch 服务利用同步复制协议来处理写入请求。这使得服务能够在发生故障时迅速将备用区域提升为活动状态(平均故障转移时间 <= 1 分钟),称为 区域故障转移。然后,先前的活动区域将降级为待机模式,并开始恢复操作以恢复其健康状态。
搜索流量路由和故障转移以保证高可用性
在 OpenSearch 服务域中, 协调 是处理 HTTP(S) 请求(尤其是索引和搜索请求)的任何节点。在具有备用域的多可用区中,活动区域中的数据节点充当搜索请求的协调器。
在搜索请求的查询阶段,协调器确定要查询的分片并向托管分片副本的数据节点发送请求。查询在每个分片上本地运行,并将匹配的文档返回到协调器节点。协调器节点负责将请求发送到包含分片副本的节点,该过程分两步运行。首先,它创建一个迭代器,定义需要查询分片副本的节点的顺序,以便流量在分片副本之间均匀分布。随后,请求被发送到相关节点。
为了创建要查询分片副本的节点的有序列表,协调器节点使用各种算法。这些算法包括循环选择、自适应副本选择、基于偏好的分片路由以及 加权循环赛.
对于多可用区备机,采用加权循环算法进行分片副本选择。在这种方法中,活动区域分配的权重为 1,备用区域分配的权重为 0。这可以确保不会将读取流量发送到备用可用区域中的数据节点。
权重作为 JSON 对象存储在集群状态元数据中:
如下图所示, us-east-1b
区域的区域状态为 StandBy
,表示该可用区中的数据节点处于待机状态,不会接收来自负载均衡器的搜索或索引请求。
为了保持稳定的运行状态,备用可用区每 30 分钟轮换一次,以确保跨可用区覆盖所有网络部分。这种主动方法可验证读取路径的可用性,进一步增强系统在潜在故障期间的恢复能力。下图说明了这种架构。
在上图中,C 区的加权循环权重设置为零。这可以确保备用区域中的数据节点不会接收任何索引或搜索流量。当协调器向数据节点查询分片副本时,它使用加权循环权重来决定查询节点的顺序。由于备用可用区的权重为零,因此不会发送协调器请求。
在 OpenSearch Service 集群中,可以使用可用区轮换指标随时检查主用区和备用区,如下图所示。
在区域中断期间,备用可用区会无缝切换到搜索请求的故障开放模式。这意味着,当活动可用区中没有健康的分片副本时,分片查询流量将路由到所有可用区,甚至是备用可用区。这种故障开放方法可以保护搜索请求在故障期间不会中断,从而确保持续服务。下图说明了这种架构。
在上图中,在稳定状态期间,分片查询流量被发送到活动可用区(Zone-A 和 Zone-B)中的数据节点。由于Zone-A中的节点故障,备用可用区(Zone-C)无法打开以接收分片查询流量,因此不会对搜索请求产生任何影响。最终,Zone-A 被检测为运行状况不佳,并且读取故障转移将备用数据库切换到 Zone-A。
故障转移如何确保写损伤期间的高可用性
OpenSearch 服务复制模型遵循主备份模型,其特点是同步性质,其中必须先获得所有分片副本的确认,然后才能向用户确认写入请求。这种复制模型的一个显着缺点是,如果写入路径出现任何损坏,其速度很容易变慢。这些系统依靠活跃的领导节点来识别故障或延迟,然后将此信息广播到所有节点。检测这些问题(平均检测时间)并随后解决它们(平均修复时间)所需的时间在很大程度上决定了系统在受损状态下运行的时间。此外,由于复制的同步特性,任何影响区域间通信的网络事件都可能严重阻碍写入请求。
OpenSearch 服务利用内部节点到节点通信协议来复制写入流量并通过选举的领导者协调元数据更新。因此,将承受压力的区域置于待机状态并不能有效解决写损伤问题。
区域写入故障转移:切断区域间复制流量
对于具有备用功能的多可用区,为了减轻在不可预见的事件(例如区域故障和网络事件)期间引起的潜在性能问题,区域写入故障转移是一种有效的方法。此方法涉及从集群中优雅地删除受影响区域中的节点,从而有效地切断区域之间的入口和出口流量。通过切断区域间复制流量,区域故障的影响可以包含在受影响的区域内。这为客户提供了更可预测的体验,并确保系统持续可靠运行。
优雅的写故障转移
OpenSearch 服务中写入故障转移的编排是由当选的领导节点通过定义明确的机制来执行的。该机制涉及集群状态发布的共识协议,确保所有节点之间一致同意指定单个区域(始终)进行退役。重要的是,与受影响区域相关的元数据会在所有节点之间复制,以确保其持久性,即使在发生中断时完全重新启动期间也是如此。
此外,领导节点在启动 I/O 防护之前首先将受影响区域中的节点置于待机状态 5 分钟,以确保平稳过渡。这种故意的方法可以防止任何新的协调器流量或分片查询流量被定向到受影响区域内的节点。反过来,这允许这些节点优雅地完成其正在进行的任务,并在停止服务之前逐步处理任何正在进行的请求。下图说明了这种架构。
在实现领导节点写故障转移的过程中,OpenSearch Service遵循以下关键步骤:
- 领导人退位 – 如果领导节点恰好位于计划进行写故障转移的区域中,系统会确保领导节点自动退出其领导角色。这种放弃是以受控方式进行的,整个过程被移交给另一个符合条件的节点,然后由该节点负责所需的操作。
- 阻止即将退役的领导人连任 – 为了防止从标记为写故障转移的区域重新选举领导者,当符合条件的领导节点发起写故障转移操作时,它会采取措施确保任何即将退役的领导节点不会参与任何进一步的选举。这是通过将即将退役的领导节点排除在投票配置之外来实现的,从而有效地防止其在集群运行的任何关键阶段进行投票。
与写入故障转移区域相关的元数据存储在集群状态中,并且该信息发布到分布式 OpenSearch Service 集群中的所有节点,如下所示:
以下屏幕截图描述了在区域中网络速度减慢期间,写入故障转移有助于恢复可用性。
写入故障转移后的区域恢复
区域重新调试过程在区域写入故障转移后的恢复阶段起着至关重要的作用。在受影响的区域恢复并被视为稳定后,之前停用的节点将重新加入集群。这种重新调试通常发生在区域重新调试后 2 分钟的时间范围内。
这使它们能够与其对等节点同步并启动副本分片的恢复过程,从而有效地将集群恢复到所需状态。
结论
具有备用功能的 OpenSearch 服务多可用区的推出为企业提供了强大的解决方案,可为关键工作负载实现高可用性和一致的性能。通过此部署选项,企业可以增强基础设施的弹性,简化集群配置和管理,并实施最佳实践。凭借加权循环分片副本选择、主动故障转移机制和故障开放备用可用区等功能,具有备用功能的 OpenSearch 服务多可用区可确保为要求苛刻的企业环境提供可靠、高效的搜索体验。
有关备用多可用区的更多信息,请参阅 底层的 Amazon OpenSearch 服务:带备用的多可用区.
关于作者
安舒阿加瓦尔 是 Amazon Web Services 的 AWS OpenSearch 高级软件工程师。 她热衷于解决与构建可扩展且高度可靠的系统相关的问题。
里沙布纳哈塔 是一名软件工程师,在 Amazon Web Services 从事 OpenSearch 方面的工作。 他着迷于解决分布式系统中的问题。 他是 OpenSearch 的积极贡献者。
布赫塔瓦汗 是 Amazon OpenSearch Service 的首席工程师。他对分布式和自治系统感兴趣。他是 OpenSearch 的积极贡献者。
兰吉思·拉马钱德拉 是在 Amazon Web Services 从事 Amazon OpenSearch 服务的工程经理。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- PlatoData.Network 垂直生成人工智能。 赋予自己力量。 访问这里。
- 柏拉图爱流。 Web3 智能。 知识放大。 访问这里。
- 柏拉图ESG。 碳, 清洁科技, 能源, 环境, 太阳能, 废物管理。 访问这里。
- 柏拉图健康。 生物技术和临床试验情报。 访问这里。
- Sumber: https://aws.amazon.com/blogs/big-data/achieve-high-availability-in-amazon-opensearch-multi-az-with-standby-enabled-domains-a-deep-dive-into-failovers/
- :具有
- :是
- :不是
- :在哪里
- 1
- 10
- 100
- 12
- 30
- 501
- a
- 关于
- 实现
- 承认
- 横过
- 法案
- 操作
- 行动
- 要积极。
- 自适应
- 另外
- 地址
- 影响
- 后
- 协议
- 算法
- 算法
- 所有类型
- 让
- Amazon
- 亚马逊网络服务
- 其中
- an
- 和
- 另一个
- 任何
- 的途径
- 架构
- 保健
- AS
- 分配
- At
- 自主性
- 自治系统
- 可用性
- 意识
- AWS
- 备份工具
- 摆动
- BE
- 因为
- 很
- before
- 作为
- 最佳
- 最佳实践
- 之间
- 都
- 播放
- 建筑物
- 企业
- by
- CAN
- 容量
- 进行
- 造成
- 特征
- 充
- 检查
- 簇
- 沟通
- 通信
- 完成
- 配置
- 共识
- 所以
- 考虑
- 一贯
- 安慰
- 包含
- 继续
- 连续
- 贡献
- 贡献者
- 受控
- 协调
- 协调员
- 协调员
- 副本
- 覆盖
- 创建信息图
- 创建
- 危急
- 关键
- 合作伙伴
- 切割
- data
- 决定
- 深
- 深潜
- 定义
- 延误
- 钻研
- 严格
- 部署
- 部署
- 指定
- 设计
- 期望
- 检测
- 检测
- 确定
- 针对
- 瓦解
- 分布
- 分布式系统
- 潜水
- do
- 文件
- 域
- 域名
- 别
- 向下
- 两
- 为期
- ,我们将参加
- 每
- 有效
- 只
- 高效
- 当选
- 选举
- 合格
- 消除
- 启用
- 使
- 执行
- 工程师
- 工程师
- 提高
- 增强
- 加强
- 确保
- 确保
- 保证
- 企业
- 整个
- 环境中
- 特别
- 醚(ETH)
- 甚至
- 活动
- 事件
- 终于
- 所有的
- 排除
- 体验
- 经历
- 探索
- 失败
- 失败
- 失败
- 专栏
- 特征
- 击剑
- 姓氏:
- 以下
- 如下
- 针对
- FRAME
- 止
- ,
- 进一步
- GIF
- 优美
- 渐渐
- 保证
- 手
- 处理
- 手柄
- 发生
- he
- 健康
- 帮助
- 高
- 高度
- 兜帽
- 托管
- 创新中心
- HTTP
- HTTPS
- 鉴定
- if
- 说明
- 影响力故事
- 影响
- 减值
- 实施
- 重要的
- in
- 包括
- 说明
- 信息
- 基础设施
- 原来
- 同修
- 启动
- 实例
- 有兴趣
- 内部
- 成
- 介绍
- 介绍
- 涉及
- 问题
- 问题
- IT
- 它的
- JPG
- JSON
- 键
- 已知
- 在很大程度上
- 领导者
- 领导团队
- 喜欢
- 清单
- 加载
- 当地
- 位于
- 长
- 保持
- 维持
- 管理
- 颠覆性技术
- 经理
- 方式
- 标
- 匹配
- 意味着
- 手段
- 措施
- 机制
- 机制
- 元数据
- 指标
- 分钟
- 分钟
- 减轻
- 时尚
- 模型
- 更多
- 运动
- 自然
- 必要
- 需求
- 网络
- 工业网络
- 全新
- 没有
- 节点
- 节点
- 显着
- 对象
- of
- 折扣
- on
- 一
- 正在进行
- 仅由
- 打开
- 操作
- 操作
- 运营
- 附加选项
- or
- 管弦乐编曲
- 秩序
- 其他名称
- 输出
- 停运
- 停机
- 超过
- 参加
- 部分
- 多情
- 径
- 路径
- 窥视
- 性能
- 坚持
- 相
- 配售
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 扮演
- 帖子
- 潜力
- 强大
- 做法
- 前
- 可预见
- 防止
- 预防
- 防止
- 先前
- 小学
- 校长
- 主动
- 问题
- 过程
- 促进
- 协议
- 提供
- 提供
- 出版物
- 出版
- 把
- 查询
- 阅读
- 接收
- 接收
- 最近
- 恢复
- 恢复
- 恢复
- 参考
- 地区
- 定期
- 有关
- 相应
- 可靠性
- 可靠
- 依靠
- 其余
- 切除
- 修复
- 回复
- 复制
- 复制
- 请求
- 要求
- 必须
- 弹性
- 弹性
- 解决
- 提供品牌战略规划
- 恢复
- 恢复
- 恢复
- 角色
- 路由
- 运行
- 运行
- s
- 保障
- 同
- 可扩展性
- 预定
- 无缝
- 搜索
- 选择
- 发送
- 发送
- 前辈
- 发送
- 服务
- 特色服务
- 集
- 她
- 如图
- 显著
- 简单
- 简化
- 单
- 慢一点
- 减速
- 光滑
- So
- 软件
- 软件工程师
- 方案,
- 解决
- 稳定
- 州/领地
- Status
- 稳定
- 步骤
- 存储
- 应力
- 后来
- 成功
- 易感性
- 系统
- 产品
- 采取
- 拍摄
- 需要
- 任务
- 这
- 其
- 他们
- 然后
- 那里。
- 博曼
- Free Introduction
- 那些
- 三
- 通过
- 次
- 时
- 至
- 公差
- 交通
- 过渡
- 转
- 二
- 一般
- 下
- 相关
- 意外
- 最新动态
- 用过的
- 用户
- 使用
- 运用
- 利用
- 各个
- 自觉自愿
- 表决
- we
- 卷筒纸
- Web服务
- 重量
- 井
- 定义明确
- 为
- ,尤其是
- 这
- 而
- 将
- 中
- 加工
- 合作
- 写
- 和风网
- 零
- 区