查看其它 3 个回答zhuqibs的回答

zhuqibszhuqibs软件开发工程师Adidas

楼上的兄弟回答的很全面了,但问的是内部组件,我只摘录一段
rabbitmq是openstack的内部默认队列 ,非常关键,一旦阻塞或宕了,整体openstack就会全跨。原生的没有高可用,但如果真上生产,一定要要配置高可用

基于高级消息队列协议
基于 AMQP 协议进行的通信,主要是每个项目内部各个组件之间的通信,比方说 Nova 的 Nova Compute 和 Scheduler 之间,然后 Cinder 的 Scheduler 和 Cinder Volume之间。
需要说明的是,Cinder 是从 Nova Volume 演化出来的,所以 Cinder 和 Nova 之间也有通过 AMQP 协议的通信关系,由于 AMQP 协议进行通信也属于面向服务的架构, 虽然大部分通过 AMQP 协议进行通信的组件属于同一个项目,但是并不要求它们安装在同一个节点上,给系统的横向扩展带来了很大的好处,可以对其中的各个组件分别按照他们负载的情况进行横向扩展,因为他们不在一个节点上,分别用不同数量的节点去承载它们的这些服务。
( AMQP 是一种协议,OpenStack 没有规定它是用什么实现,我们经常使用的是 Private MQ,实际上用户也可以根据自身的情况选择其它的消息中间件。)

互联网服务 · 2020-04-28
浏览2151

回答者

zhuqibs
软件开发工程师Adidas
擅长领域: 云计算服务器存储

zhuqibs 最近回答过的问题

回答状态

  • 发布时间:2020-04-28
  • 关注会员:5 人
  • 回答浏览:2151
  • X社区推广