WebHook事件
WebHook的用途有2点:
- 应用解耦:应用程序产生WebHook事件时,不用关心有多少个订阅者程序
- 应用集成:可通过订阅事件的方式实现数据同步
WebHook运行示意图
可以发现
- MyApp1 与 OtherApp1/2/3/4 不直接调用(没有耦合)
- Event1 有 3个订阅者(MyApp1不用关心)
- Event2 有 2个订阅者(MyApp1不用关心)
总结:
- WebHook事件的发起方与订阅方完全解耦,它们只和WebHookServer这个中间交互。
- 一个WebHook事件可以有多个订阅者,也可以没有任何订阅者,对于这些发起方不用关心
- 发起方只需要一套代码即可整合多个其它应用程序
发送WebHook事件
// 创建事件数据对象
var alert = new {
AlertId = 123,
Message = "xxxxxxxxxxx",
AlertType = 11,
// ...............
};
// 发布WebHook事件
WebHookClient.Instance.PublishEvent("alert.create", alert);
WebHookServer
Nebula自带一个WebHookServer的实现,
具体内容可参考:
WebHook服务