云原生开发里 pet 和 cattle 的类比
2022-04-18 本文已影响0人
华山令狐冲
Pet:类比成云原生开发中的服务器或服务器组,被视为不可或缺的或永远不会关闭的独特系统。通常,它们是手动构建、管理和“手动喂养”的。示例包括大型机、独立服务器、HA 负载平衡器/防火墙(主动/主动或主动/被动)、设计为主/从(主动/被动)的数据库系统等。
Cattle:多于两台服务器的阵列,使用自动化工具构建,专为故障而设计,其中没有一台、两台甚至三台服务器是不可替代的。 通常,在故障事件期间,不需要人工干预,因为阵列通过重新启动故障服务器或通过三重复制或纠删码等策略复制数据,来展示“绕过故障”的属性。 示例包括 Web 服务器阵列、多主数据存储(例如 Cassandra 集群)、集群中的多个设备机架,以及几乎任何负载平衡和多主数据。
专注于服务器的可处置性是 Pets vs. Cattle 最重要的一个方面。