之前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/

最新文章

  1. Redis 的性能幻想与残酷现实
  2. Linux如何查看文件系统(磁盘使用情况)
  3. WIN7下搭建CORDOVA环境
  4. JS 获取浏览器和屏幕宽高信息
  5. Android打开相机和打开相册
  6. iOS10-- snapshotViewAfterScreenUpdates 失效
  7. http 响应码
  8. jquery 删除字符串最后一个字符的方法
  9. SQL 调试:无法启动 T-SQL 调试。未能附加到 SQL Server 进程
  10. 【NOIP TG 解方程】
  11. MYSQL 体系结构图
  12. mabatis mapper开发规范
  13. Centos下wget下载整个网站,或者目录全部文件
  14. CSS属性速查表
  15. 筛选最小值---verilog
  16. js自动时间
  17. Python基础-编码与解码
  18. Hadoop学习之路(一)理论基础和逻辑思维
  19. Web服务器学习总结(一):web服务器简介
  20. QTP基本方法

热门文章

  1. MySql最左前缀原则
  2. 解决Initializing Java Tooling 和 Initializing Java Tooling卡死问题
  3. php扩展redis链接失败,返回false
  4. MySQL 中有关auto_increment及auto_increment_offset方面的介绍
  5. 通过存储过程运行通过DBLINK的查询语句失败-单个语句成功--ORA-00604
  6. Android studio 相关下载
  7. admin 模块功能
  8. CENTOS 搭建SVN服务器(附自动部署到远程WEB)
  9. Java泛型详解(转)
  10. 01_Hadoop学习笔记内容说明