在 Kilo版本, API WSGI application 可以有以下2种部署方式:

  • As a Python command that runs a Werkzeug-based web server that is monkeypatched to use eventlet.
  • As a WSGI application hosted by any WSGI server, often Apache + mod wsgi.

WSGI host好处是性能好,可扩展性高。

Werkzeug + Eventlet 命令行好处是简单方便但性能差而且难以调试。

Eventlet 会monkeypatches the socket module 来提供 non-blocking network I/O.

Eventlet 还有一个问题就是当socker出现异常比如client频繁在没有读取完server发来的数据时的关闭导致问题难以debug。

Aodh采用的是第三方werkzeug WSGI服务器,而该服务器支持多线程/进程,所以可以很方便的直接替换。

http://werkzeug.pocoo.org/docs/0.11/

所以修改后服务的的部署就变成了:

  1. werkzeug WSGI server without eventlet
  2. Apache + mod wsgi

其中在Api/app中使用werkzeug 的代码为:

from werkzeug import serving

    serving.run_simple(host, port,
app, processes=conf.api.workers)

由于要在整个项目中剔除eventlet的使用,所以messaging中也需要从eventlet替换成多线程:

--- a/aodh/messaging.py
+++ b/aodh/messaging.py
- [endpoint], executor='eventlet',
+ [endpoint], executor='threading',

其他服务如aodh-listener,aodh-notifier ,aodh-evaluato,aodh-expire还是使用oslo_service.

参考:

  1. https://github.com/openstack/telemetry-specs/blob/master/specs/liberty/remove-web-eventlet.rst
  2. http://docs.openstack.org/releasenotes/aodh/mitaka.html

aodh M版本新特性 - Remove eventlet from Aodh in favour of threaded approach的更多相关文章

  1. aodh M版本新特性 - queue between alarm evaluator and alarm notifier

    之前alarm evaluator service and alarm notifier services之间的通信采用RPC的方式,消耗较大,增加work queue的方式可以获得更好的性能, + ...

  2. Atitit opencv版本新特性attilax总结

    Atitit opencv版本新特性attilax总结 1.1. :OpenCV 3.0 发布,史上功能最全,速度最快的版1 1.2. 应用领域2 1.3. OPENCV2.4.3改进 2.4.2就有 ...

  3. Atitit mac os 版本 新特性 attilax大总结

    Atitit mac os 版本 新特性 attilax大总结 1. Macos概述1 2. 早期2 2.1. Macintosh OS (系统 1.0)  1984年2 2.2. Mac OS 7. ...

  4. IOS第三天-新浪微博 - 版本新特性,OAuth授权认证

    *********版本新特性 #import "HWNewfeatureViewController.h" #import "HWTabBarViewController ...

  5. 【开源】OSharp3.3框架解说系列:重新开源及3.3版本新特性

    OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...

  6. Atitit 发帖机系列(8)  词法分析器v5 版本新特性说明)

    Atitit 发帖机系列(8)  词法分析器v5 版本新特性说明) v5  增加对sql单引号的内部支持.可以作为string 结构调整,使用递归法重构循环发..放弃循环发. V4 java dsl词 ...

  7. [iOS微博项目 - 1.7] - 版本新特性

    A.版本新特性 1.需求 第一次使用新版本的时候,不直接进入app,而是展示新特性界面 github: https://github.com/hellovoidworld/HVWWeibo       ...

  8. framework各版本新特性(为面试准备)

    菜鸟D估计描述这些新特性的文章都是烂大街的货色,之所以拿出来分(e)享(xin)一下,有两个原因:1.当年面试的时候有人问到,我不知道该怎么回答:2.项目需要发布了,但是考虑到framework的版本 ...

  9. 《转》MySQL 5.7版本新特性连载

    MySQL 5.7版本新特性连载(一) 本文将和大家一起分享下5.7的新特性,不过我们要先从即将被删除的特性以及建议不再使用的特性说起.根据这些情况,我们在新版本及以后的版本中,应该不再使用,避免未来 ...

随机推荐

  1. jquery遍历json与数组方法总结

    来自:http://www.php100.com/html/program/jquery/2013/0905/5927.html 先我们来参考each() 方法,each()规定为每个匹配元素规定运行 ...

  2. maven仓库添加本地jar

    一.将jar添加到本地仓库的做法: 以下面pom.xml依赖的jar包为例: 实际项目中pom.xml依赖写法: <dependency> <groupId>org.sprin ...

  3. ehcache 的HelloWorld实现(二)

    EhCache最新版本是3.X 本人一直用的是2.X 比较稳定 功能足够用: 所以还是用2.X版本: 我们新建一个Maven项目, pom.xml里引入 ehcache支持: <dependen ...

  4. VMware虚拟机不能联网的解决办法

    Linux安装的centos系统,不能正常连接网络 1.编辑config文件 [root@localhost ~]# cd /etc/selinux [root@localhost selinux]# ...

  5. SQL语句中的Having子句与where子句

    一.介绍 聚合函数如SUM, COUNT, MAX, AVG等.这些函数和其它函数的根本区别就是它们一般作用在多条记录上.而通过使用GROUP BY 子句,可以让SUM 和 COUNT 这些函数对属于 ...

  6. Ubuntu14.04下Nginx反向代理Odoo域名

    安装nginx sudo apt-get install -y nginx 修改配置文件 vi /etc/nginx/nginx.conf #注释掉下面这行代码 #include /etc/nginx ...

  7. (转)fiddler使用简介--其一

    原文地址:https://www.cnblogs.com/miantest/p/7289694.html Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行 ...

  8. mysql数据库补充知识1 安装数据库破解数据库密码已经创建用户

    一.安装MYSQL数据库 1.yum安装 #二进制rpm包安装 yum -y install mysql-server mysql 2.源码安装   1.解压tar包 cd /software tar ...

  9. python中的标识符长度能有多长

    在python中,标识符可以还是任意长度.此外,我们在命名标识符时还必须遵守以下规则 1 只能以下划线或者A-Z/a-z中字母开头 2 其余部分可以使用A-Z/a-z/0-9 3 区分大小写 4 关键 ...

  10. 号码字符串与BCD编码互转 c#

    /// <summary>        /// 把号码用BCD进行压缩编码.        /// </summary>        /// <param name= ...