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


相关推荐

  • 数据结构面试题以及答案整理[通俗易懂]

    数据结构面试题以及答案整理[通俗易懂]一、什么是数据结构?数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。结构包括逻辑结构和物理结构。数据的逻辑结构包括4种(1)集合:数据元素之间除了有相同的数据类型再没有其他的关系(2)线性结构:数据元素之间是一对一的关系——线性表、栈、队列(3)树形结构:数据元素之间是一对多的关系(4)图状结构:数据元素之间是多对多的关系。物理结构包括顺序存储结构和链式存储结构。二、解释一下顺序存储与链式存储顺序存储结构是用一段连续的存储空间来存储数据元

    2022年9月19日
    1
  • asp.net面试题

    asp.net面试题ASP.NET常见面试题及答案(130题)1.简述private、protected、public、internal修饰符的访问权限。答.private:私有成员,在类的内部才可

    2022年7月1日
    23
  • Linux内核的整体架构简介

    Linux内核的整体架构简介1.前言本文是“Linux内核分析”系列文章的第一篇,会以内核的核心功能为出发点,描述Linux内核的整体架构,以及架构之下主要的软件子系统。之后,会介绍Linux内核源文件的目录结构,并和各个软件子系统对应。注:本文和其它的“Linux内核分析”文章都基于如下约定:  a)内核版本为Linux3.10.29(该版本是一个longterm的版本,会被Linux社区持续维

    2022年7月23日
    7
  • 秒杀多线程第四篇 一个经典的多线程同步问题

    秒杀多线程第四篇 一个经典的多线程同步问题

    2021年12月8日
    33
  • Activiti工作流使用之流程结构介绍[通俗易懂]

    Activiti工作流使用之流程结构介绍[通俗易懂]Activiti工作流使用之流程结构介绍文章目录Activiti工作流使用之流程结构介绍一、工作流介绍1.1概述1.2常见工作流二、工作流术语2.1工作流引2.2BPM2.3BPMN2.4流对象三、Activiti结构3.1Activiti系统服务结构图3.2Activiti数据库结构四、流程步骤4.1部署Activiti4.2流程定义4.3流程定义部署4.4启动一个流程实例4.5用户查询代办任务(Task)4.6用户已办任务历史记录4.6用户已办任务历史记录一、工作流介绍

    2022年9月27日
    0
  • latex希腊字母对照表_24个希腊字母怎么读

    latex希腊字母对照表_24个希腊字母怎么读LATEXL^AT_EXLATE​X希腊字母对照表显示输入显示输入α\alphaα\alphaβ\betaβ\betaγ\gammaγ\gammaδ\deltaδ\deltaε\varepsilonε\varepsilonη\etaη\etaθ\thetaθ\thetaι\iotaι\iotaκ\kappaκ\kappaλ\lambdaλ\lambdaμ\muμ\muν\nuν\nuξ\xiξ\xiooo

    2022年10月13日
    0

发表回复

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

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