跳转到: 导航, 搜索

Neutron/LBaaS/PluginDrivers

负载均衡器插件驱动框架

原理
根据解决方案的性质,可能需要实现不同的架构。以下是一些可能的选项:

1) 当前参考实现
所有负载均衡器都是单个主机上的 HAProxy 进程

2) 通过代理调度改进的参考实现
负载均衡器可以在运行负载均衡器代理的不同的主机上创建。代理(因此,主机)由调度器选择。

3) REST 代理到外部设备管理组件
插件向外部组件发送 REST 请求,该组件选择设备并对其进行配置

4) 设备清单/调度和多厂商代理
插件使用设备清单选择设备,并通过设备驱动程序向代理发送请求,从而应用配置更改

为了避免为每种架构创建单独的插件,我们可以引入插件端驱动程序,这些驱动程序以最适合特定厂商解决方案的方式实现与服务其他组件(代理、外部系统或设备)的交互。

以下是一些可能的流程示例

1) 当前参考实现
Workflow-plugin-notification-driver.png

因此,对于参考实现,驱动程序的职责仅是在需要时向代理发送通知,否则什么也不做。

2) 通过代理调度改进的参考实现
Workflow-plugin-notification-driver-agent-scheduling.png

对于高级参考实现,驱动程序还依赖于代理调度来选择 VIP 的代理/主机,并通过相应的队列发送通知。

3) REST 代理

Workflow-rest-proxy.png
驱动程序负责在请求通过数据库层后将 rest 调用转发到外部实体

4) 设备清单/调度和多厂商代理
Workflow-active-driver-passive-agent.png

驱动程序负责使用设备清单/设备放置(调度)模块为请求选择设备