基础23 ElastciSearch quorum机制

14人阅读 评论(0) 收藏 举报
分类:

基础23 ElastciSearch quorum机制

概述

1、consistency

one(primary shard),all(all shard),quorum(default)

我们在发送任何一个增删改操作的时候,比如说put /index/type/id,都可以带上一个consistency参数,指明我们想要的写一致性是什么?

put /index/type/id?consistency=quorum
  • one:要求我们这个写操作,只要有一个primary shard是active活跃可用的,就可以执行
  • all:要求我们这个写操作,必须所有的primary shard和replica shard都是活跃的,才可以执行这个写操作
  • quorum:默认的值,要求所有的shard中,必须是大部分的shard都是活跃的,可用的,才可以执行这个写操作

2、quorum机制

quorum机制,写之前必须确保大多数shard都可用,int( (primary + number_of_replicas) / 2 ) + 1,当number_of_replicas>1时才生效

quroum = int( (primary + number_of_replicas) / 2 ) + 1

举个例子,3个primary shard,number_of_replicas=1,总共有3 + 3 * 1 = 6个shard

quorum = int( (3 + 1) / 2 ) + 1 = 3

所以,要求6个shard中至少有3个shard是active状态的,才可以执行这个写操作

3、如果节点数少于quorum数量,可能导致quorum不齐全,进而导致无法执行任何写操作

  • 3个primary shard,replica=1,要求至少3个shard是active,3个shard按照之前学习的shard&replica机制,必须在不同的节点上,如果说只有2台机器的话,是不是有可能出现说,3个shard都没法分配齐全,此时就可能会出现写操作无法执行的情况

  • es提供了一种特殊的处理场景,就是说当number_of_replicas>1时才生效,因为假如说,你就一个primary shard,replica=1,此时就2个shard

  • (1 + 1 / 2) + 1 = 2,要求必须有2个shard是活跃的,但是可能就1个node,此时就1个shard是活跃的,如果你不特殊处理的话,导致我们的单节点集群就无法工作

4、quorum不齐全时,wait,默认1分钟,timeout,100,30s

  • 等待期间,期望活跃的shard数量可以增加,最后实在不行,就会timeout
  • 我们其实可以在写操作的时候,加一个timeout参数,比如说put /index/type/id?timeout=30,这个就是说自己去设定quorum不齐全的时候,es的timeout时长,可以缩短,也可以增长
查看评论

Linux hotplug_uevent机制

做产品时经常要用到自动挂载,自动启动
  • 2017年01月12日 14:52

Quorum 机制

http://www.cnblogs.com/jzhlin/archive/2012/07/23/2605077.html 分布式系统的设计中会涉及到许多的协议、机制用来解决可靠性问题、数据一致性问...
  • junhua3344
  • junhua3344
  • 2013-11-10 14:31:48
  • 2311

Quorum/NRW机制

Quorom 机制,是一种分布式系统中常用的,用来保证数据冗余和最终一致性的投票算法,其主要数学思想来源于鸽巢原理。  什么是鸽巢原理?   其中一种简单的表述法为:   若有n个笼子和n+1只鸽...
  • kzq_qmi
  • kzq_qmi
  • 2015-08-08 21:52:17
  • 1340

基于以太坊的联盟链?Quorum机制初探(中)

摩根大通的Quorum平台是区块链行业的关注热点(Quorum是由摩根大通最初在去年秋季公布的一种基于以太坊的区块链网络),并且摩根大通近期与零币电子货币公司(Zerocoin Electronic ...
  • about_blockchain
  • about_blockchain
  • 2017-12-08 13:30:50
  • 438

分布式学习之Quorum机制和Lease机制

-Quorum机制" style="margin:10px 0px 0px; padding:0px; font-size:24px; font-weight:normal; line-height:...
  • elricboa
  • elricboa
  • 2017-12-02 20:04:58
  • 146

分布式系统读写模型中的Quorum机制

分布式系统的设计中会涉及到许多的协议、机制用来解决可靠性问题、数据一致性问题等,Quorum 机制就是其中的一种。我们通过分布式系统中的读写模型来简单介绍它。 分布式系统中的读写模型 ...
  • huangjin0507
  • huangjin0507
  • 2015-12-21 10:01:54
  • 842

Quorum机制与NRW算法

Quorum机制Quorum,原指为了处理事务、拥有做出决定的权力而必须出席的众议员或参议员的数量(一般指半数以上)。NRW算法NRW算法是基于Quorum机制的是一种CP(Consistency&P...
  • jeffsmish
  • jeffsmish
  • 2017-01-07 11:14:53
  • 1510

quorum入门

quorum(改进了以太坊的隐私机制)官网相关链接 github:https://github.com/jpmorganchase/quorum 官网:http://www.jpmorganchin...
  • j1097376869
  • j1097376869
  • 2017-05-23 12:50:59
  • 563

分布式系统的Quorum策略

分布式系统要做到数据一致性是不同于单点系统的,列入写入数据,客户端需要等待直到写入成功。因此分布式系统的设计中会运用一些“聪明”的协议、机制用以解决数据一致性、可靠性等问题,Quorum 机制就是其...
  • zxk364961978
  • zxk364961978
  • 2016-07-09 14:33:01
  • 949

Quorum 机制在开源分布式系统中的应用

IntroductionA quorum is the minimum number of votes that a distributed transaction has to obtain in ...
  • FrancisHe
  • FrancisHe
  • 2017-06-05 22:05:15
  • 137
    我的微信
      我的微信号号,添加后更多福利
    个人资料
    持之以恒
    等级:
    访问量: 6万+
    积分: 4686
    排名: 7868
    文章存档
    最新评论