06-从分片--Replica Shards--es横向扩展设计

直到现在我们一直都在说shard的事情,不是还有replicas吗?现在开始讨论,replicas的作用是提高可用性,也就是做数据备份,防止丢失,如果有个shard挂掉了,它的replica就会顶替他的位置。

在index过程中,replica和shard做了基本一样的事情,新文档进来先index进入shard,然后该shard的replica自动把数据备份到自己的索引中,记住:增加replicas的数量对于es cluster扩容无任何作用!

除了提高可用性,replicas的另外一个重要作用就是可以供读请求访问,这可是非常重要的功能!!!如果你的业务情景是读多写少(大部分都这样的业务情况)那这个东西可以大大的提高读的性能(我自己测试过确实是这样的),但前提要求是你得加node,,,

上面的例子里面我们现在加入1 replica,

PUT /my_index/_settings

{

  "number_of_replicas": 1

}

图是这样的 

采用replicas进行负载均衡

请求表现永远决定于最慢的node(短板理论),如果我们现在有3个node,必然会发生2个node各1个分片,另外一个node必然2个分片(2*2),这样的设计不好为了平衡可以再加一组replicas也就是2 *3 /2 = 3,每个node3个分片

PUT /my_index/_settings

{

  "number_of_replicas": 2










!!!好多人都有这个疑问:

有的node放的shard,有的放的replicas,这样对系统有影响吗?shard和replica消耗还有性能表现相同吗?作者回答了,他们扮演着不同的角色但干着同样的事情,没必要必须把primary 和replicas平衡开来的,所以别担心来。。。


github地址:https://github.com/whybangbang/Elasticsearch---The-Definitive-Guide-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值