OpenStackでのoslo_service/eventlet/greenlet
OpenStackの各コンポでWSGI (Web Service Gateway Interface) をどう実現しているか?の観点で見ると、eventlet.wsgiを使っている場合が多い。
そして、eventlet.wsgiを効率的に動かすために、Greenletを使っている。なお、Greenletは、C言語拡張モジュールによるPython用のGreenThread実装である。このため、Pythonで実装したよりも、スレッド間切り替えが早い。
また、oslo_serviceを介してeventletを間接的に呼び出しているコンポもある。
2016年8月20日時点 (Newtonリリースの前) のコードでは、eventletのWSGIフレームワークの使用状況は以下の通りである。
コンポ名 | eventlet使用している? | oslo_serviceから使用している? |
---|---|---|
cinder | ○ | ○ |
glance | ○ | × |
heat | ○ | × |
ironic | ○ | ○ |
keystone | × | × |
neutron | ○ | ○ |
nova | ○ | × |
参考資料
- greenlet
- eventlet
- oslo_service
- eventletのwsgiをOpenStack用にラップしている。