Elastic Search 的分布式特点(和MongoDB对比)

回顾一下mongoDB的分布式:
  • replica set:若干mongod组成,只有一个master可写,自动选举 。
  • sharding: 若干mongos 作为前端router,每个shard对应一个replica set,还有一个replica set作为sharding metatadata的存储(config server)

MongoDB有两种process(或者说binary,instance),而ES集群的所有结点都是相同的Process - org.elasticsearch.bootstrap.Elasticsearch。

ES的分布式:
  1. 每个node具有相同binary。Every node is identical and handles a proportionate share of every activity in the system
  2. 动态选举master,动态的role(相同binary,但role,behavior不一定相同)
  3. 任何一个结点都可以对外提供服务 (注意Coordinator不等于master)

从内部的角度,每个结点都了解集群的membership,shard的分布这些全局信息。

ES的shard不是跟node直接绑定的,而是分两步:
  1. 第一步是决定一个全集分成几个部分进行管理、以及每个doc属于哪个逻辑shard的问题。
  2. 第二步才是每个shard和node之间的assign关系。这点和一般的一致性hash不一样,后者是一个key直接找到负责这个key的node。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值