Neutron中的Service类

Neutron中的Service类

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

Service是OpenStack中非常重要的一个概念,各个服务的组件都以Service类的方式来进行交互。


Neutron中的Service类继承自rpc中的Service,总体的继承关系为

neutron.openstack.common.service.Service–>neutron.common.rpc.Service–>neutron.service.Service类。


当中neutron.openstack.common.service.Service类定义了简单的reset()start()stop()wait()方法。该类初始化后会维护一个线程组。


neutron.common.rpc.Service类中进一步丰富了start()stop()方法,并在初始化中引入了hosttopicmanagerserializer參数。

start()添加�创建了Connection对象,之后创建了三个consumer,分别监听主题为參数传入的topicfanout分别为TrueFalse),以及主题为topic.host。然后调用manager的初始化。最后作为server启动全部的consumer


neutron.service.Service类的初始化中更进一步的添加�了binaryreport_intervalperiodic_intervalperiodic_fuzzy_delay等參数。除丰富了start()stop()wait()方法外,还添加�了create()类方法、kill()periodic_tasks()report_state()

start()添加�了周期性运行report_state()periodic_tasks(),而且调用managerinit_host()after_start()方法。

create()方法是类方法,它依据传入的參数binary參数获取真实的程序名,并在未给定參数的情况下尝试从配置文件里解析managerreport_intervalperiodic_intervalperiodic_fuzzy_delay等參数。最后是返回生成的Service类对象。

report_state()方法仅定义了接口。

periodic_tasks()则首先获取admin的上下文,然后调用managerperiodic_tasks()方法运行。


很多其它详细内容请參考https://github.com/yeasy/tech_writing/blob/master/OpenStack/OpenStack%20Neutron%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%90.pdf

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118850.html原文链接:https://javaforall.net

(0)
上一篇 2021年11月30日 下午2:00
下一篇 2021年11月30日 下午3:00


相关推荐

  • 原来酷炫的大屏,用Excel就能做

    原来酷炫的大屏,用Excel就能做前段时间用 tableau 做了可视化大屏 大家有的说说没学过 tableau 有的说不会做 但就是觉得很炫 因此 有人私聊我说用 excel 能做可视化大屏吗 当然 这是可以的 基于粉丝的这个需求 我们今天来讲述一下 怎么使用 excel 做一个简单的可视化大屏 通过本文 你将会收获如下这些知识 数据去重 excel 常用函数 数据验证 excel 常用图表 切片器 以及如何利用 excel 做数据

    2026年3月26日
    2
  • 实测|WSL2 从零部署 OpenClaw AI 助手:安装配置与实战运行教程

    实测|WSL2 从零部署 OpenClaw AI 助手:安装配置与实战运行教程

    2026年3月13日
    3
  • eclipse下载及安装教程[通俗易懂]

    eclipse下载及安装教程[通俗易懂]eclipse下载及安装教程Java编程最好的集成开发工具就是IBM研发的Eclipse软件,Eclipse完全免费,是java开发人员的必备平台。进入eclipse下载页,界面如下图所示:(附加官网下载链接:https://www.eclipse.org/downloads/)eclispe提供了两种下载方式。一种是下载安装程序,下载后直接运行安装程序,根据安装程序的提示选择安装选项并完成安装;一种是下载具有不同功能项的eclispe压缩包,下载后手动解压即可。第一种——安装程序方式

    2022年5月10日
    38
  • 软件测试理论思维导图[通俗易懂]

    一个合格的测试人员软件测试理论这一方面必须要完全掌握无论做什么测试都离不开测试理论这里面的原则啊方法等等下面是笔者在学习完测试理论所记录下的思维导图希望能帮到一些想进入测试这行业的人。…

    2022年4月9日
    47
  • 软件需求规格说明书模板

    软件需求规格说明书模板软件需求规格说明书模板软件需求规格说明书是软件开发过程需求分析阶段需要产出的文档 是为了使用户和软件开发者对软件的规格有一个共同的理解而撰写的 软件需求规格说明有标准的模板方法 步骤第一章是引言 描述软件需求规格说明书的纵览 帮助读者理解文档如何编写并且如何阅

    2026年3月20日
    1
  • 2022-Java面试宝典收藏版

    2022-Java面试宝典收藏版Java基础目录前言一、基础篇1.1.Java语言有哪些特点1.2.面向对象和面向过程的区别1.3.八种基本数据类型的大小,以及他们的封装类1.4.标识符的命名规则。1.5.instanceof关键字的作用1.6.Java自动装箱与拆箱1.7.重载和重写的区别1.8.equals与==的区别1.9.Hashcode的作用1.10.String、StringStringBuffer和StringBuilder的区别是什么?1.11.ArrayList和linkedLi

    2025年12月4日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号