我见过一些应用程序拥有集群 Web 服务器(例如 10 到 20 个服务器),以具有可扩展性,可以在其中分发
在网络服务器之间加载。但我总是看到所有网络服务器都使用单个数据库。
现在考虑任何电子商务或铁路 Web 应用程序,其中有数百万用户在任何时间点访问该应用程序。
为了在网络服务器端进行扩展,我们可以使用服务器集群,但是如何扩展数据库呢?因为我们不能像多个网络服务器那样拥有多个数据库,因为一个数据库将具有与其他数据库不同的状态:)
UPDATE:-在关系 DBMS 中无法扩展数据库,而只能在 mongo db 等 NO SQL 数据库中扩展数据库吗?
数据库方面有两种不同的可扩展性。一种是读取可扩展性,另一种是写入可扩展性。您可以通过垂直扩展来实现这两个目标,这意味着在一定程度上添加更多的 CPU 和 RAM。但是,如果您需要扩展超过单台机器限制的非常大的数据,则应该使用只读副本来满足读取可扩展性的需求,并使用分片来满足写入可扩展性的需要。
分片的工作方式并不像将一些实体(鞋子)放到一台服务器上,而将其他实体(T 恤)放到另一台服务器上。它的工作原理就像将一些鞋子和一些 T 恤放入一台机器中,并为其余实体执行此操作。
大容量数据管理的另一个解决方案是使用微服务,它与您的示例更相似。我的意思是提供鞋子服务和 T 恤服务。通过微服务,您可以将代码和数据划分到不同的项目以及不同的应用程序和数据库服务器。因此,您可以以不同的方式处理数据不同部分的可扩展性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)