应用程序解耦合是个必然的趋势,解耦合以后可以更具有弹性、容错率也更高。为实现这一点,Message和events必不可少。这两者到底有何区别呢?
Message是包含原始数据的,而不单是reference到那个数据。通常Message由一个组件产生数据,另外一个组件来处理这个数据。举个例子,有个歌曲分享的移动APP,用户上传一个歌曲后,要通过web API把原始歌曲传到并存储到后端数据库中,供其他用户来听歌,而不是单纯返回一个歌曲已上传的结果。
Events不一样,Events有发布者和订阅者,可以一对一也可以一对多。Events可以通过媒介来触发接下来的行动,比如通过Azure Event Grid或者Azure Event Hub来发邮件、发短信告警之类的。
因此,Events适合做广播、并且没有进一步行动了,而Message则是保证能够有组件来处理它。
网友评论