2024-05-14 00:37:50 发布
网友
我是新来的卡桑德拉,所以请容忍我。在
所以,我正在构建一个使用Cassandra作为数据库的搜索引擎。我通过皮卡萨和它互动。在
现在,我想输出Cassandra对一个网页的响应,让用户提交一个查询。在
我知道一些工具,比如django、fastCGI、SCGI等,它们允许python到web的交互。然而,如何在web服务器上运行python脚本而不将该服务器变成单点故障(即,如果该服务器死机,用户无法访问系统),从而否定Cassandra的一个用途呢?在
Theo Schlossnagle的Scalable Internet Architectures涵盖了负载平衡和更多内容。强烈推荐。在
我以前见过这个问题——有时人们需要更多的CPU能力和带宽来生成和服务一些服务器生成的HTML和图像,而不是在Cassandra中运行实际的查询。对于一个客户来说,这是服务于网站前端的服务器数量是其Cassandra集群的10倍。在
您需要在这些前端服务器之间实现负载平衡—调查在一些专用计算机上运行haproxy。它可以快速、方便地配置,并且在设置更改时也同样易于重新配置(与DNS不同,DNS可能需要几天的时间来传播更改)。我想你也可以配置nginx做同样的事情。如果您在前端服务器中保存每个会话的信息,则需要每个客户端为每个请求访问同一个前端服务器—这称为“会话持久性”,可以通过哈希客户端的IP来选择前端服务器来实现。哈普罗西会帮你的。在
然而,这种方法将再次在您的配置(haproxy服务器)中创建一个SPOF,您应该运行多个,并且可能有一个热备用。最后,您需要在您的haproxy之间以某种方式平衡负载-我们通常使用循环DNS来实现这一点,因为运行haproxy的节点很少改变。在
这个系统的好处是,您可以轻松地增加(或减少)前端服务器的数量,而无需更改您的DNS。您可以阅读(一点)更多关于我所指的设置的信息:http://www.acunu.com/blogs/andy-ormsby/using-cassandra-acunu-power-britains-got-talent/
Theo Schlossnagle的Scalable Internet Architectures涵盖了负载平衡和更多内容。强烈推荐。在
我以前见过这个问题——有时人们需要更多的CPU能力和带宽来生成和服务一些服务器生成的HTML和图像,而不是在Cassandra中运行实际的查询。对于一个客户来说,这是服务于网站前端的服务器数量是其Cassandra集群的10倍。在
您需要在这些前端服务器之间实现负载平衡—调查在一些专用计算机上运行haproxy。它可以快速、方便地配置,并且在设置更改时也同样易于重新配置(与DNS不同,DNS可能需要几天的时间来传播更改)。我想你也可以配置nginx做同样的事情。如果您在前端服务器中保存每个会话的信息,则需要每个客户端为每个请求访问同一个前端服务器—这称为“会话持久性”,可以通过哈希客户端的IP来选择前端服务器来实现。哈普罗西会帮你的。在
然而,这种方法将再次在您的配置(haproxy服务器)中创建一个SPOF,您应该运行多个,并且可能有一个热备用。最后,您需要在您的haproxy之间以某种方式平衡负载-我们通常使用循环DNS来实现这一点,因为运行haproxy的节点很少改变。在
这个系统的好处是,您可以轻松地增加(或减少)前端服务器的数量,而无需更改您的DNS。您可以阅读(一点)更多关于我所指的设置的信息:http://www.acunu.com/blogs/andy-ormsby/using-cassandra-acunu-power-britains-got-talent/
相关问题 更多 >
编程相关推荐