elasticsearch源码分析之集群服务(八)

为什么集群

集群是为一组互联的完整计算机,一起作为一个统一的计算资源而工作,给人以一台机器的感觉。
集群有三大优点,所以很多系统都以集群的形式出现:

  • 高性价比:使用普通的计算机来构建集群,能够以非常低的价格,获得比大型机更高的性能。
  • 高可用性:因为集群中的每个节点都是一台独立的计算机(或者部署在其上),集群服务都有容错能力,所以某一个节点的故障不意味着集群服务的失败。
  • 可伸缩性:可以通过横向调整集群节点的伸缩,实现集群的服务能力。

elasticsearch以集群的形式服务也是基于上面原因。

集群模型

分布式集群业界一般有两种模型,中心化集群和去中心化集群。

  • 中心化:中心化集群包含有主节点,用来对非主节点进行协调;非主节点负责任务执行。如hadoop。
  • 去中心化:去中心化化集群实现比较复杂,所有节点都对等的,如 Cassandra、Redis-cluster。

elasticsearch集群属于中心化集群。

  1. 在众多节点中选举一个节点作为mater,维护元数据信息(meta、routing等)。
  2. index\type等读写操作、集群state、reroute等操作通过master实现,参见TransportMasterNodeAction的子类。
  3. 数据的查询、写入等操作通过集群所有节点(scatter),存储节点(gather)完成,减轻了master节点的计算。

模型实现

涉及模块

主要包含了es的gateway模块(元数据读写)、cluster模块(集群状态处理)、discovery模块(集群发现服务)三大模块完成集群功能。

如何构建

Created with Raphaël 2.1.0 开始 构建节点id
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值