我希望对以下内容有一些基本的了解。 为了构建可伸缩的Web应用程序,他们有哪些选择?
以下有什么区别 1)简单地使用noSQL数据库(如Cassandra)来实现可伸缩性 2)使用云服务(如Azure,Openstack)实现可伸缩性 3)在云平台上使用noSQL数据库以实现可伸缩性
哪种方法极具可扩展性? 如今,这些组织中哪些通常受到组织的青睐
请以简单的方式解释,因为我不熟悉这些。
答案 0 :(得分:2)
像cassandra这样的数据库为您提供了数据库层的可扩展性,但仍然没有解决应用层问题 - 您可以在群集中拥有一千个cassandra节点,每秒服务数百万次写入,但支持该数量在流量方面,您还需要数十或数百个实际与客户交谈的应用服务器。
AWS / Azure / Openstack等技术发挥作用 - 让您能够快速,轻松地创建新的Web服务器/应用程序服务器(在AWS和Azure的情况下,在租用的硬件上,以便您&# 39;无需为物理机,数据中心空间和专用带宽付费,您只需为使用的内容付费。
人们常常将像Cassandra这样的NoSQL dbs与像AWS / Azure这样的云结合起来,因为随着需求的增长,它们可以启动更多系统,而无需进行资本支出(购买服务器),他们可以随着需求的减少,关闭节点(例如,如果你在超级碗期间运行广告,你可以在星期六打开1000台机器,运行超级碗广告,提供最终流量,然后关闭800台机器当你周二不再需要它们时。)