12.横向扩容 、提升容错性

主要知识点:

  • 横向扩容后shard的自动分配及自动负载均衡
  • 扩容极限及超过扩容极限后的处理
  • 不同情况下的容错。

   

1、横向扩容

当扩容时,es会自动进行负载均衡,也就是会自动的分配primary shard 和replica shard 到新增加的node中。从而保证:每个node上有大致相同的shard数量(primary shard 和replica shard 一定是要存放在不同的node中的)此时,每个node有更少的shard,因此每个shard 可以占用这个node更多的资源(IO/CPU/Memory等),因此每个shard性能更好。

   

2、扩容极限及容错

1.扩容极限是node数量等于shard数量(node=shard)

3台机器的情况,(13 primary+3 replica ,容错一台,因为宕机一台后还有两个node上有完整数据。此时有两个primary shard 另一个shard 只有replica shard ,但是数据仍是完整的,如果此时动态修改relica的数量,3 primar+6 replica,此时就可以容错2台宕机,但是每个shard的资源更少。

   

2.超出扩容极限,假如扩容到9台机器,些时就可以动态修改replica数量,9shard3primary6 replica

   

3、总结:

综合起来看,一方面要理解扩容的原理,怎么扩容,怎么提升系统整体吞吐量;另一方面要考虑到系统的容错性,让尽可能多的服务器宕机的情况下保证数据不丢失

原文地址:https://www.cnblogs.com/liuqianli/p/8434471.html