- GraphQL实战:写给全栈工程师们
- 王北南
- 370字
- 2025-03-01 05:50:31
1.2.2 可靠性
通过对分布式系统的合理设计,可以达到单机系统无法达到的高可靠性。因为任何一台计算机的软硬件都无法彻底避免发生故障,可以想象,如果只有一台服务器,很多故障都会让服务受到难以恢复的严重影响。所以分布式系统最重要的设计目标之一就是在某台或者某个集群的服务器发生故障时,可以让剩余的服务器继续正常服务。
比如Google、Facebook、Twitter等互联网公司一般都会允许10%左右的服务器发生故障或者重启时,主要服务还能不受影响。又比如亚马逊的云服务机房提供了美国东西海岸、亚洲和欧洲等多个机房,在某处机房遭遇不可抗力的损害,如地震、火灾等自然灾害或者人为失误造成的断电、断网等问题时,其他机房仍然可以为客户服务,使服务不会中断。实际做起来会有很多要注意的地方,而且不少开发者担心GraphQL这种单一入口的API服务会不会造成可用性的降低等等,这些都会在后面的章节结合具体的技术详细讨论。