飞天是由阿里云开发的一个大规模分布式计算系统,其中包括飞天内核和飞天开放服务。
飞天内核负责管理数据中心Linux集群的物理资源,控制分布式程序运行, 隐藏下层故障恢复和数据冗余等细节,有效提供弹性计算和负载均衡。如图所示,飞天体系架构主要包含四大块:1、资源管理、安全、远程过程调用等构建分布式系统常用的底层服务;2、分布式文件系统;3、任务调度;4、集群部署和监控。
飞天开放服务为用户应用程序提供了计算和存储两方面的接口和服务,包括弹性计算服务(Elastic ComputeService,简称ECS)、开放存储服务(Open Storage Service,简称OSS)、开放结构化数据服务(Open Table Service,简称OTS)、关系型数据库服务(Relational Database Service,简称RDS)和开放数据处理服务(Open Data Processing Service,简称ODPS),并基于弹性计算服务提供了云服务引擎(Aliyun Cloud Engine,简称ACE)作为第三方应用开发和Web 应用运行和托管的平台。
分布式系统底层服务
资源管理
负责调度和分配集群的内存和计算等资源给上层应用和服务,管理运行在集群节点上的任务的生命周期和资源使用。在多用户运行环境中,支持计算额度、访问控制、作业优先级和资源抢占,达到在保障公平的前提下有效地共享集群资源。
安全管理
提供以用户为单位的身份认证和授权,为集群数据资源和服务的访问控制生成权能。
远程过程调用
提供可靠高效的进程间远程调用服务,支持通讯信道的数据压缩和一致性校验。
分布协同服务
提供分布式系统基本的命名服务、状态同步服务和分布式锁服务。支持基于Paxos的分布式共识协议。
分布式文件系统
提供类似于POSIX的用户空间文件访问API,支持随机读和追加写,可用于强一致性要求的事务日志场景。
高可扩展性,支持上亿个文件和PB以上量级的文件存储。
基于Paxos协议的多Master设计,避免集群单点失效,自动进行故障监测和数据复制,在不依赖RAID卡和NAS等特殊硬件设备的条件下,提供99.99%的可用性和大于十个9的数据可靠性。
Share-Nothing架构设计,支持大规模并发读写,充分利用分布式并行带宽。毫秒级别的日志更新操作,支持快速响应的在线服务。
支持增量扩容和自动数据平衡能力,允许用户定制数据分布策略。
任务调度
面向海量数据处理和大规模计算类型的复杂应用,提供了一个数据驱动的多级流水线并行计算框架,在表述能力上兼容MapReduce,Map-Reduce-Merge,Cascading,FlumeJava等多种编程模式。
高可扩展性,支持十万以上级的并行任务调度。
自动检测故障和系统热点,重试失败任务,保证作业稳定可靠运行完成。
集群部署与监控
部署
提供整个飞天以及上层应用服务的部署、配置管理、以及服务的自检和自举。支持在线集群扩容和应用服务的在线升级。
监控
监控飞天集群和上层应用服务的运行状况和性能指标,提供丰富的监控图表和集群状况仪表盘,支持用户定义的自动报警服务,以及在线性能剖析和故障诊断。