您的位置:首页 > 编程语言 > Lua

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

2016-04-18 14:22 405 查看

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: