主动/只读池模式
在主动/只读池模式中,将所有写入指向主节点。根据应用程序的需要,读取则可以被发送到主节点或只读池。只读池可以实现读取密集型应用程序的读水平扩展。
配置
在理想情况下,至少要有一个副本(最好是两个)与主节点服务器具有相同的配置。同样地,当需要故障切换到其中一个副本时,该副本应该有足够的容量支撑业务的流量。
如果随着时间的推移,只读池在持续增长,则可以让副本用不同的硬件配置来优化成本。在这种情况下,可以尝试将流量进行加权,运行在更好的硬件配置的副本上可以承担更多的流量。如果故障切换的目标副本上有 32 个CPU核,其他副本有 8 个核,则可以向 32 核的节点发送 4 倍以上的流量,以确保资源被充分利用。
冗余
在只读池中的服务器数量应满足先前提出的要求,还需要至少一台服务器可以充当故障切换的目标。此外,还需要有足够的节点来支撑读流量,以及用于节点故障的小缓冲区。
对于读取,最有效的使用率参考指标是 CPU 使用率,因此,目标池中每个节点的使用率应该在 50%~60%。随着 CPU 使用率的增加,节点会花费更多的时间在工作和延迟之间进行上下文切换,尝试在满足应用程序期望的延迟和使用率之间找到适当的平衡。
最后更新于