横向扩容过程,如何超出扩容极限,以及如何提升容错性?
primary & replica 自动负载均衡,6 个 shard,3 primary,3 replica。
扩容之后,每个 node 有更少的 shard,IO/CPU/Memory 资源给每个 shard 分配更多,每个 shard 性能更好。
扩容的极限,6 个 shard(3 primary,3 replica),最多扩容到 6 台机器,每个 shard 可以占用单台服务器的所有资源,性能最好。
超出扩容极限,动态修改 replica 数量,9 个 shard(3 primary,6 replica),扩容到 9 台机器,比 3 台机器时,拥有 3 倍的读吞吐量。
3 台机器下,9 个 shard(3 primary,6 replica),资源更少,但是容错性更好,最多容纳 2 台机器宕机,6 个 shard 只能容纳 0 台机器宕机。
这里的这些知识点,你综合起来看,就是说,一方面告诉你扩容的原理,怎么扩容,怎么提升系统整体吞吐量;另一方面要考虑到系统的容错性,怎么保证提高容错性,让尽可能多的服务器宕机,保证数据不丢失。