1. 认证服务(Identity Service):Keystone。提供了其余所有组件的认证信息/令牌的管理,创建,修改等等,使用MySQL作为统一的数据库。
2. 镜像服务(Image Service):Glance。提供了对虚拟机部署的时候所能提供的镜像的管理,包含镜像的导入,格式,以及制作相应的模板
3. 计算服务(compute):Nova。负责维护和管理云计算计算资源,维护和管理计算和网络。
4. 网络服务(Network):Neutron。提供了对网络节点的网络拓扑管理,同时提供Neutron在Horizon的管理面板
5. Web界面服务(Dashboard):Horizon。提供了以Web的形式对所有节点的所有服务的管理
6. 块存储服务(Block Storage):Cinder。为运行实例提供稳定的数据块存储服务
7. 对象存储(Object Storage):Swift。为Glance提供镜像存储和卷备份服务
8. 测量(Metering):Ceillrmeter。提供对物理资源以及虚拟资源的监控,并记录这些数据,对该数据进行分析,在一定条件下触发相应动作
9. 部署编排(Orchestration):Heat。提供了基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩,负载均衡等高级特性。
10. 数据库服务(Database Service):Trove。提供可扩展和可靠的关系和非关系数据库引擎服务
四、组件详解
1. RabbitMQ
1. 概念:实现了AMQP( 高级消息队列协议 )的流行消息队列系统 ,用于在分布式系统中存储转发消息,在 易用性、扩展性、高可用性等方面表现不俗。
2. 特点
1. 开源,性能优秀,稳定性保障。
2. 提供可靠性消息投递模式、返回模式和HA模式、表达式配置及镜像队列模型
3. 集群模式丰富,语Spring AMQP完美整合,保证数据不丢失的前提做到高可靠性和可用性
3. 核心概念
4. 工作原理
1. 客户端连接到消息队列服务器,打开一个channel。
2. 客户端声明一个exchange,并设置相关属性。
3. 客户端声明一个queue,并设置相关属性。
4. 客户端使用routing key,在exchange和queue之间建立好绑定关系。
5. 客户端投递消息到exchange。
6. exchange接收到消息后,就根据消息的key和已经设置的binding,进行消息路由,将消息投递到一个或多个队列里。