如果多个用户尝试访问Web应用程序中的相同数据,会发生什么。 (例如,500或1000个用户将使应用程序崩溃。
设计n
个用户可以同时访问的应用程序的最佳解决方案是什么。
什么是分布式数据库?
答案 0 :(得分:0)
回答您的第一个问题: (From here.)
允许许多用户同时使用的两个重要机制 是Web缓存和负载平衡。正如这些维基百科所述 文章:
http://en.wikipedia.org/wiki/Web_cache http://en.wikipedia.org/wiki/Load_balancing_(computing)
如果超出了可用于处理请求的线程数且服务器上的内存使用量过多,则应用程序仅会崩溃。
您的第二个查询是一个非常简单的问题,我们作为Web开发人员日常面对,但我担心没有一个步骤可以确保Web应用程序的高可用性。要回答这个问题,我建议您先了解Scaling(应用程序)的概念。
通过查看this SlideShare presentation,您可以找到有关Web应用程序可伸缩性的更多信息。它清晰地展示了问题和可能的解决方案。
关于您的第三个查询,分布式数据库是系统,其中大多数数据存储在不同的磁盘上(分为不同的物理磁盘 - 碎片或复制以实现冗余 - 复制)。数据库管理系统负责访问正确的磁盘以获取任何特定信息。
大多数相同的数据放在不同的磁盘上,以确保大量请求不会导致瓶颈。
但是,即使这听起来很简单,当数据库的大小增加时(例如Twitter的DB或FB的DB),实际实现会复杂得多。每当添加新信息时,数据库管理系统都需要确保在所有其他磁盘上进行更新。 (复制)。
更简单(更慢)的方法是偶尔复制所有磁盘(复制)。
分布式数据库管理系统进一步分为两个主要子类: