openstack开发实践(七):RESTful API框架在openstack中的应用

本文介绍了RESTful API的基本概念,包括POST、PUT、DELETE和GET操作。在OpenStack中,主要使用基于Pastedeploy和Routes的API框架。文章详细讲解了WSGI服务在OpenStack中的作用,以及如何通过nova-api服务启动WSGIService。还深入探讨了Pastedeploy中的核心组件,如WSGI应用、filter、pipeline和composite,并解析了nova/etc/nova/api-paste.ini配置文件,展示了请求路由的过程。
摘要由CSDN通过智能技术生成

RESTful API简介

RESTful API就是RESTful风格的API,所谓REST,即表现层状态转化,这里的“表现层”,指的是资源的表现层,访问资源时伴随产生的数据和状态的变化即为“状态转化”。通常对于REST来说有如下4种基本操作:

  1. POST:创建资源
  2. PUT:更新资源
  3. DELETE:删除资源
  4. GET:获取资源

对于REST架构来说,每一个URL代表了一种资源,一个URL路径往往是和某个具体操作相关联的,我们在理解REST框架时,最主要的就是要理解框架中URL路由是如何确定的;客户端与服务器之间,传递的是某种资源的某种表现层;客户端主要通过上述四种基本操作实现对服务端资源的基本操作。
在REST架构中还有一个比较重要的概念是WSGI(Web Service Gateway Interface),它起到了连接Web Server与Python App的作用。一方面,它可以让Web Server知道应该如何去调用Python APP以及把用户请求发送给Python APP;另一方面,它会告诉Python APP用户具体发出的请求是什么以及如何把执行结果返回给相应的Web Server。
在目前的Openstack中主要有两种基本框架:基于Pastedeploy和Routes的REST API框架和基于Pecan的REST框架,前者目前是openstack中使用的比较多的REST框架,后面我们将结合nova-api服务来具体讲解基于Paste和Routes的API框架

基于Pastedeploy和Routes的API框架

WSGIService源码

之前的nova源码解析https://blog.csdn.net/weixin_41977332/article/details/104569906中有提到nova-api服务的启动,调用的是nova.cmd.api中的main()方法,代码如下所示,在该方法中,主要是通过第59行server=service.WSGIService(api,use_ssl=should_use_ssl)和第60行的launcher.launch_service(server, workers=server.workers or 1)启动了一个WSGI服务。
在这里插入图片描述
第59行server=service.WSGIService(api,use_ssl=

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值