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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • netty权威指南读书笔记——走进java nio

    netty权威指南读书笔记——走进java nio一、linux网络IO模型:linux将所有外部设备都当作文件处理,对一个文件的读写操作通过调用内核命令执行,返回一个filedescriptor(fd文件描述符),而对于一个socket也有对应的socketFD,描述符是一个数字,指向内核中的一个结构体(文件路径,数据区属性等)。1、unix提供了5种I/O模型:a、阻塞I/O模型(默认模型):应用进程调用recvfrom后,系统调…

    2022年10月2日
    2
  • 罗永浩欠六个亿脱口秀_罗永浩直播带货视频

    罗永浩欠六个亿脱口秀_罗永浩直播带货视频做直播赚钱,跟做其它所有合法工作赚钱一样,一样可以选择干干净净的赚钱。而越假装不在乎钱,就越不会去赚钱,所以她在30岁时,自己撕掉那块遮羞布,拼命赚钱,过积极的生活。站街上一天8小时,赚80元,可80元卖5盒明信片就有了啊。提及这段经历,就是想说,当你真的开始在乎钱,真的想赚更多钱时,你真的能找到各种办法。这个社会的很多人,有些病态,自己背着房贷,猪肉排骨都舍不得大口吃,还不努力赚钱,甚至还不好意…

    2022年9月21日
    5
  • torch.meshgrid()函数解析

    torch.meshgrid()函数解析torch.meshgrid()函数解析torch.meshgrid()的功能是生成网格,可以用于生成坐标。函数输入两个数据类型相同的一维张量,两个输出张量的行数为第一个输入张量的元素个数,列数为第二个输入张量的元素个数,当两个输入张量数据类型不同或维度不是一维时会报错。其中第一个输出张量填充第一个输入张量中的元素,各行元素相同;第二个输出张量填充第二个输入张量中的元素各列元素相同。#【1】importtorcha=torch.tensor([1,…

    2022年6月5日
    130
  • BatchShell软件—-Xshell与Ansible结合

    BatchShell软件—-Xshell与Ansible结合

    2021年6月3日
    105
  • 简单选择排序 C语言

    简单选择排序 C语言简单选择排序(SimpleSelectionSort)也称作直接选择排序。算法步骤:1)设待排序的记录存放在数组Data[1…n]中。第一趟从Data[1]开始,通过n-1次比较,从n个记录中选出关键字最小的记录,记为Data[k],交换Data[1]和Data[k]。2)第二趟从Data[2]开始,通过n-2次比较,从n-1个记录中选出关键字最小的记录,记为Data[k],交换Data[2]和Data[k]。3)依次类推,第i趟从Data[i]开始,通过n-i次比较,从n-i

    2022年6月25日
    25
  • 常用函数库——BOOL函数[通俗易懂]

    常用函数库——BOOL函数[通俗易懂]//判断一个数是否为质数Returnstrueifnisaprimenumber.boolIsPrime(intn){//Trivialcase1:smallnumbersif(n<=1)returnfalse;//Trivialcase2:evennumbersif(n%2=…

    2022年6月10日
    40

发表回复

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

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