花了差不多一星期的时间,总算是坚持下来了。以前都不太喜欢到处贴代码的风格,但是轮到自己,还是一样。
最后一篇,就不再贴代码了。前面对用户名及密码认证基本上都过了一次。但里面都是很细节的东西,而且没有太多的逻辑及框架, 最后一篇, 基于问题及框架来总结下。
Q: Keystone在Openstack中是干什么的?
Keystone是进行3A认证的, 是所有服务的起始点,只有经过认证,其它的服务才会认为可以合法执行。它是Openstack的钥匙。
Q:Keystone是怎么实现的?
Keystone是基于Python的WSGI归范, 提供基于RESTful风格的API接口来实现种服务。
Q: Keystone的软件架构是什么样的?
Keystone大概分为五层,中间件、 路由层、控制器层、数据管理层(Manager)及后台数据库层。
中间件完成一些基本的共用的功能,如log的记录,请求大小的检查,内容格式的检查及转换等;
路由主要是把HTTP请求解析成controller及action,然后执行其相应的action.
控制器是对业务逻辑的实际控制
数据管理层对控制器提供数据服务, 因为Keystone可以支持不同的数据存取方式,所以需要一个Manager提供对外一致的接口。
后台数据库是用来实际实现数据存取的服务,它可以有多种类型