【发布时间】:2021-01-07 16:51:46
【问题描述】:
很抱歉这个模糊的问题,但它让我难以置信。
据我了解,单体应用程序可以通过两种方式扩展:垂直和水平。后者涉及通过添加更多副本来复制服务。我怀疑数据库在这种方法中的作用。
假设,例如,我有一个连接到数据库的应用程序 A。假设我复制了这个应用程序,并调用了复制的 A'。 A 和 A' 是否共享同一个数据库,从而使数据库有可能成为瓶颈,或者 A 和 A' 是否拥有自己的数据库,从而有必要实施某种机制来确保两个实例之间的数据一致性数据库?
【问题讨论】:
-
这需要进一步澄清,您使用的是什么类型的存储,您认为数据库可能成为瓶颈的负载类型?
-
Mavi 我一般都在想,最终如果您多次复制应用程序,它将成为瓶颈。现在我不知道发生这种情况需要什么样的负载,但我猜它会。根据您的评论,我想说这两种方法都可能有利于使用相同数据库的应用程序?
-
如果你不为它设计,这种设计中的数据库将成为瓶颈。一个例子:如果您有 2 个节点运行同一个应用程序,一个来自美国,另一个来自欧盟,并且它们试图连接到位于其中一个位置的同一个数据库,那么您正在制造问题。在这种情况下,要求真的很重要。您永远不必自己实现数据一致性,几乎所有体面的存储系统都为您提供。您应该了解来自特定区域/实例的读取是否多于写入 - 如果一个故障转移就足够了等等......
标签: architecture scalability horizontal-scaling