HA、一致性和响应式计数器的设计
Design of HA, consistent and responsive counter
假设 flipkart 在中午 12 点之前推出了 redmi 独家促销,库存为 10K,但同时会有更多人访问。将计数器保持在单机或分布式中各有利弊。如果我们将它保存在一些内存数据存储单机中,机器将成为瓶颈,因为许多应用程序机器将同时检索,必须考虑内存和 cpu 来排队这些请求。如果跨节点分布,机器访问不同的节点,这里我们消除了瓶颈,但是节点中的更新必须跨节点一致,这也会影响响应时间。同样的设计选择是什么?
是的,单机计数器在密集负载和单点故障时确实会成为性能瓶颈。我建议进行 sharded counter 实施。
假设 flipkart 在中午 12 点之前推出了 redmi 独家促销,库存为 10K,但同时会有更多人访问。将计数器保持在单机或分布式中各有利弊。如果我们将它保存在一些内存数据存储单机中,机器将成为瓶颈,因为许多应用程序机器将同时检索,必须考虑内存和 cpu 来排队这些请求。如果跨节点分布,机器访问不同的节点,这里我们消除了瓶颈,但是节点中的更新必须跨节点一致,这也会影响响应时间。同样的设计选择是什么?
是的,单机计数器在密集负载和单点故障时确实会成为性能瓶颈。我建议进行 sharded counter 实施。