先粗略了解几个名词:
- RESTful API:表征状态迁移,也就是说客户端使用http的基本操作(主要四种:get,post,put,delete对应增删改查)使服务端的资源状态转化。
- WSGI:web server gateway interface,直译过来web服务网关接口,可以看作一个桥梁,一端连着服务端(wsgi server),一端连接应用程序(wsgi app),桥体(wsgi middleware),也就是说wsgi server 直接处理客户端的http请求,将请求内容转译为应用app能够处理的对象。
api服务是入口,主要把客户端发送http请求映射到具体处理函数上,主要涉及三个模块
- paste.deploy:构建openstack的wsgi服务,etc下面都会有对应项目的paste的文件,nova为例子,位于/etc/nova/api-paste.ini,paste.deploy构建wsgi服务就是基于这个配置文件
- webob:对wsgi的请求和响应进行封装(将wsgi与应用app的信息进行处理,使应用端更方便去进行处理,可以放入wsgi模块内理解)
- routes:定义url到内部函数的映射。