擅长:python、mysql、java
<p>我以前见过这个问题——有时人们需要更多的CPU能力和带宽来生成和服务一些服务器生成的HTML和图像,而不是在Cassandra中运行实际的查询。对于一个客户来说,这是服务于网站前端的服务器数量是其Cassandra集群的10倍。在</p>
<p>您需要在这些前端服务器之间实现负载平衡—调查在一些专用计算机上运行<strong>haproxy</strong>。它可以快速、方便地配置,并且在设置更改时也同样易于重新配置(与DNS不同,DNS可能需要几天的时间来传播更改)。我想你也可以配置nginx做同样的事情。如果您在前端服务器中保存每个会话的信息,则需要每个客户端为每个请求访问同一个前端服务器—这称为“会话持久性”,可以通过哈希客户端的IP来选择前端服务器来实现。哈普罗西会帮你的。在</p>
<p>然而,这种方法将再次在您的配置(haproxy服务器)中创建一个SPOF,您应该运行多个,并且可能有一个热备用。最后,您需要在您的haproxy之间以某种方式平衡负载-我们通常使用循环DNS来实现这一点,因为运行haproxy的节点很少改变。在</p>
<p>这个系统的好处是,您可以轻松地增加(或减少)前端服务器的数量,而无需更改您的DNS。您可以阅读(一点)更多关于我所指的设置的信息:<a href="http://www.acunu.com/blogs/andy-ormsby/using-cassandra-acunu-power-britains-got-talent/" rel="nofollow">http://www.acunu.com/blogs/andy-ormsby/using-cassandra-acunu-power-britains-got-talent/</a></p>