目录
文章目录
Neutron 的软件架构设计
NOTE:下文中的代码均来自 OpenStack Rocky 版本。
Neutron 软件架构设计的关键有 2 点:
-
Neutron 作为一个分布式系统,采用了主从分布式架构设计,具有负责在中央控制的 Neutron Server 组件(接收北向 API 请求,控制逻辑,下达任务),也有负责在地方执行的 Agents 组件(执行任务,反馈结果)。Neutron Server 和 Agents 之间采用 MQ/RPC 异步通讯模型。
-
Neutron 作为一个开源的 Network as a Service 项目,首先需要考虑能够兼容多种不同的 Network Providers(底层网络技术),例如:Linux Bridge、Open vSwitch、SDN Controller 等等。所以 Neutron Server 还采用了 Multi-Plugins(多插件类型)架构设计,与 Agents 一一对应。
如下图所示,宏观的展示了 Neutron 项目的软件架构设计全貌,包括:
- N