我的老板想要一个系统来考虑整个大陆的灾难性事件。他想在美国有两台服务器,在亚洲有两台服务器(每个大陆有 1 个登录服务器和 1 个工作服务器)。
请帮忙。我的智商已经穷尽了。先感谢您。
最佳答案
我想这些要求(如果分析得当)本质上是不兼容的,因为它们不能根据 CAP 定理工作。
如果您有多个数据中心,即使它们在附近,也会发生分区。如果发生分区,则必须丢失可用性或一致性,因为:
据我所知,这与您的要求不符。你老板想要的显然是不可能的。他需要了解CAP定理。
现在,在您的应用案例中,为了方便起见,您可能决定可以改变规则并重新定义一致性或可用性是什么,并拥有一个降级为不一致但暂时可接受的状态的系统。
您可能希望让产品管理人员查看这些需求的业务案例。删除其中一些可能没问题。一致性是一个很好的保持要求,因为它使事情按照人们的预期运行——这意味着降低可用性或分区容错性。从工程的角度来看,保持一致性肯定更容易。
关于load-balancing - 如何实现高可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2459818/