如果我有 1 台服务器,每秒有 30 次写入,然后我将其移动到 3 个 galera 节点,那么现在每台服务器每秒有 10 次写入
但由于 galera 的工作方式,集群中的每个服务器都会获取其他所有服务器的写入,因此最终我将拥有 3 个服务器,每个服务器每秒获得 30 次写入,因此我最终处于相同的位置
我错过了什么?
答案1
- 分布式读取。大多数数据库的读取量远大于写入量。这减少了节点上的整体 IO 负载。
- 高可用性
- 分布式写入在复制节点上可能要快得多,因为它们只需要处理实际的写入操作,而不是封闭的数据库事务(这个优势可能很大或很小,取决于您的特定工作负载)。由于采用多主模型,实际事务的处理也可以分布式进行。
答案2
简而言之:不是。正如您已经指出的那样,每个写入都必须在每个节点上完成。如果您想要扩展写入,您可能需要研究在多个集群上进行分片或扩展硬件。