Advertisement

Elasticsearch Zen Discovery 选主流程

阅读量:

文章结构概述

  • 背景
      • 为何采用主从架构?
      • 选举机制
      • 在何种条件下启动选主流程?
    • 主节点选举流程

      • 暂时指定主节点
      • 投票机制与计票方式的实现
      • 确认主节点身份或加入集群
      • 完成选举过程

Elasticsearch中的Discovery模块承担着识别集群内节点及确定主节点的任务。在Elasticsearch 7.0版本之前,其内部实现方式被称作Zen Discovery。Zen Discovery对节点间通信(如ping操作)以及主节点选举等相关流程进行了封装处理。

背景

为什么使用主从模式?

在ES的典型应用场景中,另一个常见的简化假设是集群规模相对较小。一般来说,集群中所包含的节点数目远低于单个节点所能维持的连接上限,同时网络环境也无需频繁应对节点的动态变化,如新增或退出等情况。

选举算法

【Bully算法属于Leader选举机制中的基础性方案之一。该算法设定所有节点均具备唯一的标识符,并依据此标识符对节点进行排序。在任意时刻,集群中当前的Leader均为拥有最高ID的节点。此算法的优势在于实现过程较为简便。

然而,在最大ID对应的节点处于不稳定状态的情境下,该算法将面临一定问题。例如,当主节点因负载过高而出现假死状态时,集群中次高的ID

全部评论 (0)

还没有任何评论哟~