「通知」和「监听」
2017-02-27 本文已影响12人
Alexis
做中台产品的时候,会涉及一些技术细节。「通知」和「监听」是其中比较普遍的一个情况。当业务层与中后台进行数据交互的时候,后端服务应当将交互结果令业务层获悉。而获悉结果,存在两种方式:
- 中后台主动通知
- 业务层主动监听
那么这两者的区别在哪里?就这个问题,我询问了某后端开发超哥。
超哥曰:通知别人,相当于是推消息;其他服务监听,相当于拉消息。
我:get 和 push。。。么。。。
从超哥的回答就看的出,这两件实现方式的区别在于:实施主体不同,关心内容不同。那如果我们更近一步来问:在两种方式都可以达成目的的情况下,我们以什么标准来取舍这两种方案?
一般,我们会从可用性、中后台服务解耦必要性以及系统性能的角度考虑:比如说,如果当前公司主要的核心是做一个“小平台”,主要保证系统稳健性,比较偏向与业务系统的解耦,让外部自行抓取结果——那么技术人员极有可能采取让外部系统监听的方式来获取结果。
小结一下:
- 主动通知:就是将各个业务的入口把握在自己手中,需要关心各条业务线的业务规则;
- 他人监听:只需要把固定业务放到消息或者DB中,至于谁用 ,并不关心。出现业务差错的情况,也不需要中台系统来排查。