项目11 OpenStack 服务分析_第1页
项目11 OpenStack 服务分析_第2页
项目11 OpenStack 服务分析_第3页
项目11 OpenStack 服务分析_第4页
项目11 OpenStack 服务分析_第5页
已阅读5页,还剩7页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目11OpenStack服务分析专业核心课程精品课程111.1RESTfulAPI简介11.1.1RESTful相关概念RESTful是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTful适用于移动互联网厂商作为业务使能接口的场景,可实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。名称REST指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful。资源所谓“资源”就是网络中的一个实体,或者说是网络中的一个具体信息。表现层“资源”是一种信息实体,它可以有多种外在表现形式。人们把“资源”具体呈现出来的形式称为其“表现层”。精品课程211.1RESTfulAPI简介11.1.1RESTful相关概念4.状态转化访问一个网站代表了客户端和服务器的互动过程。在这个过程中,势必涉及数据和状态的变化。11.1.2RESTful的特点每一个URI代表一种资源。客户端使用GET、POST、PUT、DELETE这4个表示操作方式的动词对服务器端的资源进行操作。通过操作资源的表现形式来操作资源。资源的表现形式是XML或者HTML。客户端与服务器端之间的交互在请求之间是无状态的,从客户端到服务器端的每个请求都必须包含理解请求所必需的信息。URL中不应该出现动词,全部由请求方式决定。精品课程311.2搭建RESTfulAPI11.2.1实现一个简单的WSGI服务

Web服务器网关接口(WebServerGatewayInterface,WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。自从WSGI被开发出来以后,许多其他语言中也出现了类似接口。WSGI分为两个部分:一部分为“服务器”或“网关”,另一部分为“应用程序”或“应用框架”。11.2.2使用PasteDeploy定制WSGI服务PasteDeploy模块最重要的是理清配置文件模块之间的关系,代码实现都很简单,容易实现。先来配置configure.ini文件,以下为该函数的示例代码。[app:main]paste.app_factory=wsgi_paste:app_factory精品课程411.2搭建RESTfulAPI11.2.3实现带过滤器的WSGI服务当需要对WSGI服务进行扩展时,只需要向WSGI服务中添加或删除某些方法即可。添加或删除方法时只需要简单地修改configure.ini配置文件即可,这体现出WSGI服务具有很强的伸缩性。11.2.4利用类来实现过滤器和应用利用eventlet库(用于线程管理的标准Python库)来启动WSGI服务。配置configure.ini文件Auth类filter_factory工厂方法,返回的是Auth类的实例对象Hello类Loader类Server类WSGIService类精品课程511.2搭建RESTfulAPI11.2.5实现WSGI服务的URL映射

在WSGI中,要实现URL映射,主要依赖Mapper和Controller两个类。Controller类用于实现处理HTTP请求的各种方法。配置configure.ini文件实现URL映射instance应用程序对应的工厂方法为routers包中的app_factory方法。app_factory方法用于返回一个Router对象。Router类中必须实现__call__方法。Router类的初始化方法有以下几个:初始化mapper成员变量;初始化router成员变量(路由匹配、修改环境变量、实现分发)。RoutesMiddleware对象(可调用的实例)执行过程addroutes方法dispatch方法。controller类的实现精品课程611.3基于消息通信的RPC调用11.3.1AMQP简介

AMQP的优势:客户端及服务器端之间解耦客户端与服务器端之间完全的同步性远程调用的随机均衡AMQP的架构:AMQP用到了Direct、Fanout、Topic三种类型的交换器。精品课程711.3基于消息通信的RPC调用11.3.1AMQP简介

AMQP中包含的主要元素:生产者(Producer);消费者(Consumer);消息队列(MessageQueue);消息(Message);交换器(Exchange)虚拟主机(VirtualHost);Broker;连接(Connection);信道(Channel);绑定器(Binding)。AMQP实现通信的过程:建立连接→建立信道→发送消息→路由转发→消息接收→消息确认。11.3.2RabbitMQ分析RabbitMQ是实现了高级消息队列协议的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ是AMQP的一种实现,它包括Server(服务器端)、Client(客户端)和Plugins(插件)。RabbitMQ服务器是使用Erlang语言编写的。精品课程811.3基于消息通信的RPC调用11.3.2RabbitMQ分析RabbitMQ相关概念基本原理MQ是一种分布式应用程序的的通信方法,它是消费者—生产者模型的一个典型的代表,Producer向消息队列中不断写入消息,而Consumer可以读取或者订阅队列中的消息。精品课程911.3基于消息通信的RPC调用11.3.2RabbitMQ分析系统架构精品课程1011.3基于消息通信的RPC调用11.3.3RPC调用的实现RPC调用的流程OpenStack组件内

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论