WebHook事件

WebHook的用途有2点:

  • 应用解耦:应用程序产生WebHook事件时,不用关心有多少个订阅者程序
  • 应用集成:可通过订阅事件的方式实现数据同步

WebHook运行示意图

xx

可以发现

  • 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服务