返回游戏大厅

ES 高可用演示

模拟 Elasticsearch 分布式集群的故障转移与数据恢复

Status: GREEN
> Ready...
my-application-cluster

集群角色速览

  • Node 1 (Master):负责选主、分片分配与协调。
  • Node 2/3 (Data):存储 Primary / Replica 分片,内含 RAM Buffer + Translog。
  • Coordinating Node:任何在线节点均可承担,请求命中后负责路由、聚合结果。

操作面板说明

  • Write:展示路由、主分片写入、Translog 同步、Replica 复制与 ACK 回传。
  • Read:随机负载均衡到主或副本,强调读扩散能力。
  • Deep Paging:模拟 from=10000 的高内存消耗场景。
  • Refresh:RAM Buffer flush 成新 Segment,演示 NRT 搜索。
  • Kill Node:触发 Failover,Replica晋升为 Primary。

常见面试问答

  • Translog + 刷盘:先写内存,再写 Translog,确保崩溃恢复。
  • Replica 的意义:既提高可用性也分担读请求,但写入延迟取决于复制 ACK。
  • 深度分页问题:Coordinator 需要在堆中合并大量文档,易造成 OOM,可用 Search After/Scroll 替代。
  • Refresh 与 Flush:Refresh 让数据可查但仍在内存,Flush 才会把 segment 固化到磁盘。

交互建议

  • 先点击 Write,观察请求在 Coordinator、Primary、Replica 之间往返。
  • Kill 某个主分片所在节点,再次 Read,确认 Replica 提升后的路由逻辑。
  • 按顺序执行 Deep Paging → Refresh,体会协调节点压力与 NRT 恢复。