云环境下 AppScale 与大规模跨境虚拟化基础设施的技术剖析
1. AppScale 工具与容错机制
AppScale 工具由少量 Ruby 脚本组成,开发者借助它来搭建 AppScale 实例并部署 CAE 应用。这些工具的命名灵感源于亚马逊的 EC2 工具,能在基于 Xen 的集群、EC2 和 EUCALYPTUS 上便捷部署 AppScale。
在使用 EC2 和 EUCALYPTUS 时,需要凭证和服务级别协议(SLAs),EC2 工具会负责凭证的生成、管理、分发和认证。而在仅使用 Xen 的环境中,依靠 ssh 密钥进行集群管理,无需凭证管理。通过这些工具,开发者可以启动 AppScale 系统、部署和拆除 CAE 应用、查询部署或应用的状态与性能,还能对 AppScale 的配置和状态进行操作,且上传应用的数量目前没有限制。
AppScale 具备多种容错方式。AppController 在所有节点上执行,当带有 AS 的节点上的 AC 出现故障时,该 AS 无法为特定 CAE 应用认证用户,但已认证用户不受影响。联系 ALB 重新认证的用户会被重定向到有正常运行的 AS/AC 的节点继续访问应用。若 ALB 节点上的 AC 故障,新用户无法访问 AppScale 实例中的 CAE 应用,开发者也不能上传新应用,但现有用户不受影响。这种情况与 DBM 节点上的 AC 故障类似,在 DBM 节点的 AC 故障时,AS 和用户不受影响。
数据库系统只要至少有一个 DBS 可用就能继续运行,PBServer(DBM 前端)故障时系统也有一定容错能力。若 DBM 出现故障或不可达,AS 将无法继续执行,此时 ALB 会尝试重启 DBM 组件,但如果无法