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

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

+        if conf.ipc_protocol == ‘rpc‘:
+            self.ipc = ‘rpc‘
+            self.rpc_server = messaging.get_rpc_server(
+                conf, transport, conf.notifier_rpc_topic, self)
+        else:
+            self.ipc = ‘queue‘
+            target = oslo_messaging.Target(topic=conf.notifier_topic)
+            self.listener = messaging.get_notification_listener(
+                transport, [target],
+                [AlarmEndpoint(self.notifiers)])

所谓work queue的方式就是把evaluator 的结果作为消息的payload发送给alarm:

+        payload = {‘actions‘: actions,
+                   ‘alarm_id‘: alarm.alarm_id,
+                   ‘alarm_name‘: alarm.name,
+                   ‘severity‘: alarm.severity,
+                   ‘previous‘: previous,
+                   ‘current‘: alarm.state,
+                   ‘reason‘: six.text_type(reason),
+                   ‘reason_data‘: reason_data}
+        self.notifier.sample(self.ctxt, ‘alarm.update‘, payload)

参考:https://review.openstack.org/#/c/247211/

时间: 2024-10-08 20:50:32

aodh M版本新特性 - queue between alarm evaluator and alarm notifier的相关文章

aodh M版本新特性 - Remove eventlet from Aodh in favour of threaded approach

在 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 + E

TypeScript系列1-1.5版本新特性

1. 简介 随着PC端快速向移动端迁移,移动(体验)优先的概念也越来越响.由于ReactJS目前移动端仅仅支持iOS,因此移动端Web开发框架只能选择: AngularJS/Angula2 + Ionic框架 + Cordova.想要学习好Angula2以及阅读其代码, 就必须了解和学习TypeScript,也因此需要学习好ES6以及Web Component.近期将开始学习TypeScript语言. 下面先看看TypeScript语言的发展: 鉴于JavaScript这种脚本语言很难应用于大规

c# .net 3.5 4.0 4.5 5.0 6.0各个版本新特性战略规划总结【转载】

引用:http://blog.csdn.net/attilax/article/details/42014327 c# .net 3.5 4.0 各个版本新特性战略规划总结 1. --------------.Net Framework版本同CLR版本的关系1 2. paip.------------SDK2.0功能-------------2 2.1. 泛型:2 3. --------------sdk3.0  增加了以下功能..2 3.1. LINQ 3 4.  ----------sdk4

Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结

Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结 1.1. Java的编年史2 1.2. Java版本:JDK 1.02 1.3. Java版本:JDK 1.13 1.4. Java版本:JDK 1.2 (Java 2)4 1.4.1. 1999年5 1.4.2. 2000年5 1.5. Java版本:JDK 1.35 1.5.1. 2001年6 1.5.2. 2002年7

Atitit.jquery 版本新特性attilax总结

Atitit.jquery 版本新特性attilax总结 1. Jq1.4 1 2. 1.5 1 3. 1.6 3 4. Jq1.7 3 ⒉提升了事件委派时的性能有了大幅度的提升,尤其是在ie7下: 4 ⒊更好的在 ie 6/7/8 上支持 html5: 4 ⒋切换动画更加直观: 4 ⒌匿名模块定义 awd 4 ⒍jQuery.Deferred 4 ⒎jQuery.isNumeric() 4 5. Jq1.8 5 5.1. jQuery 1.8 5 5.1.1. 可定制 5 5.1.2. 自动生

Atitit.c# .net 3.5 4.0 各个版本新特性战略规划总结

Atitit.c# .net 3.5 4.0 各个版本新特性战略规划总结 1. --------------.Net Framework版本同CLR版本的关系 1 2. paip.------------SDK2.0功能------------- 2 2.1. 泛型: 2 3. --------------sdk3.0  增加了以下功能.. 2 3.1. LINQ 3 4.  ----------sdk4.0 新加功能------------ 3 5. ].Net4.5的五项强大新特性 3 5.

JDK各版本新特性总结

JDK各版本新特性总结 JDK 1.7 新特性  1.switch中可以使用string字符串了 2.<>的运用, List<String> tempList = new ArrayList<>(); 即泛型实例化类型自动推断 3.语法上支持集合,而不一定是数组 final List<Integer> piDigits = [ 1,2,3,4,5,8 ]; 对Java集合(Collections)的增强支持,摒弃了Java集合接口的实现类,如:ArrayLi

iOS程序实现程序的版本新特性显示功能

每个程序都会多个版本,每个版本的功能会进一步优化或调整,将这些功能简明扼要的展示给急于尝鲜的用户,这就是版本新特性的功能. 程序第一次安装或升级之后的第一次启动,都会出现三到四页功能介绍页面,划屏浏览,然后才是正式进入程序.同版本的程序二次启动则没有这些介绍页.这就是版 本新特性现实界面. 如何实现这个功能呢? 需求:第一次安装或版本升级,显示新特性:同版本第二次进入,不显示新特性. 分析:程序启动会显示不同界面,就是window加载的根控制器rootViewController是不相同的.如何

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

MySQL 5.7版本新特性连载(一) 本文将和大家一起分享下5.7的新特性,不过我们要先从即将被删除的特性以及建议不再使用的特性说起.根据这些情况,我们在新版本及以后的版本中,应该不再使用,避免未来产生兼容性问题. 本文是基于MySQL-5.7.7-rc版本,未来可能 还会发生更多变化. 1.即将删除的特性1.1.InnoDB monitoring features,详见:WL#7377(访问地址:http://dev.mysql.com/worklog/task/?id=7377,下面的其他