用于可扩展 Web 应用程序的云与 NoSQL

Cloud vs NoSQL for scalable web applications

我想对以下内容有一些基本的了解。 为了构建可扩展的 Web 应用程序,他们有哪些选择?

以下有什么区别 1)简单地使用 noSQL 数据库(如 Cassandra)来实现可扩展性 2) 使用云服务(如 Azure、Openstack)实现可扩展性 3) 在云平台之上使用 noSQL 数据库实现可扩展性

哪种方法的可扩展性极强? 如今,组织通常更喜欢其中哪些

我是新手,请简单说明。

像 cassandra 这样的数据库在数据库层为您提供了可扩展性,但仍然没有解决应用程序层问题 - 您可以在一个集群中拥有一千个 cassandra 节点,每秒提供数百万次写入,但要支持这个数量的流量,您还需要数十或数百台实际与客户端通信的应用程序服务器。

这就是 AWS / Azure / Openstack 等技术发挥作用的地方 - 让您能够快速轻松地创建新的 webservers/application 服务器(对于 AWS 和 Azure,可以在租用的硬件上创建,因此您您无需为物理机器、数据中心 space 和专用带宽付费,您只需为使用的内容付费。

人们通常将像 Cassandra 这样的 NoSQL 数据库组合在像 AWS/Azure 这样的云之上,因为随着需求的增长,他们可以启动更多的系统,而无需进行资本支出(购买服务器),并且他们可以随着需求的减少关闭节点(例如,如果您 运行 在超级碗期间投放广告,则可以在星期六打开 1000 台机器,运行 超级碗广告,提供由此产生的流量,以及然后在周二不再需要时关闭 800 台机器)。