【OpenStack知识日积月累】第006期 Neutron架构探索

elyn152757 2015-09-29 02:40:18
NeutronServer
就是一个WSGI Application。它将我们的APP包裹在最里层,外面包着认证、过滤等功能。APP又分为有core-plugin、service-plugin、extension-plugin三种类型,我实现的servicechain的demo是放在service-plugin里的。从dashboard或CLI下来的请求,是通过APIRouter将API路由到对应的APP
Service-plugin
一个基本的APP,需要实现以下几个模块。
Extension:这个最重要,因为所有plugin的注册和路由都是在这里实现的。具体内容这里不赘述。
Plugin:里面实现了plugin的实现,例如某功能的创建、删除、更新等。
DB: 数据库,当然很重要啦。Plugin类是继承了DB里的类,具体的存储、删除等操作都是在DB中实现的。
Config:用来读取配置文件的,例如一些定制的信息,然后保存在DB中。
RPC: 就是与Agent通信啦,有固定的架构,所以不困难。
Agent
Agent端才是真正处理资源的。Server端将信息发送到Agent端是通过RabbitMQ,RabbitMQ 提供了很多良好的特性,比如消息的持久化、消息确认机制等等,而且方便扩展。
底层功能、实现、逻辑千差万别,下挂的设备是不同厂商的,所以不同的厂商就要实现各自的Driver, Agent作为代理对这些Driver实现资源信息的下发和上传。
...全文
64 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

148

社区成员

发帖
与我相关
我的任务
社区描述
固定电信网络SDN
社区管理员
  • SDN
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧