1、图解横向扩容过程,如何超出扩容极限,以及如何提升容错性
(1)primary&replica自动负载均衡,6个shard,3 primary,3 replica (2)每个node有更少的shard,IO/CPU/Memory资源给每个shard分配更多,每个shard性能更好 (3)扩容的极限,6个shard(3 primary,3 replica),最多扩容到6台机器,每个shard可以占用单台服务器的所有资源,性能最好 (4)超出扩容极限,动态修改replica数量,9个shard(3primary,6 replica),扩容到9台机器,比3台机器时,拥有3倍的读吞吐量 (5)3台机器下,9个shard(3 primary,6 replica),资源更少,但是容错性更好,最多容纳2台机器宕机,6个shard只能容纳1台机器宕机 (6)这里的这些知识点,你综合起来看,就是说,一方面告诉你扩容的原理,怎么扩容,怎么提升系统整体吞吐量;另一方面要考虑到系统的容错性,怎么保证提高容错性,尽可能在多的服务器宕机的情况下,保证数据不丢失
1 比如ElasticSearch集群中有2台机器,6个shard,3 primary,3 replica。那么一台机会分配3个primary,另一台机器分配3 replica
2 进行水平扩容有3台机器了,6个shard会自动负载均衡,每个机器中有2个shard(注意,primary与对应的replica不能再统一机器上),每个节点的shard数量更少,就意味着每个shard可以占用节点上更多的资源:IO/CPU/Memory,整个系统性能会更好。
3 扩容的极限 6个shard(3 primary,3 replica),最多扩容到6台机器,每个shard可以占用单台服务器的所有资源,性能最好
4 超出扩容极限,primary shard数量是不能改变的,可以改变replica shard,比如我们现在有6台机器,6个shard,想要扩容到9台机器,增加replica shard的数量
3个primary shard ,6replica shard,这样1个primary shard 就对应2个replica shard, 系统的性能更好
扩容的极限,有多少个shard就能扩容多少台机器,
超出扩容的瓶颈,动态修改replica shard。
- 6个shard,3台机器的容错性。就是最多能容忍几台服务器宕机,还能够保证数据不丢失
应该是能容忍1台机器宕机,其他两台机器还是拥有完整的数据的
9个shard,3台机器的容错性
最多容纳2台机器宕机,因为每台机器都拥有完整的数据