事件通知

原创
2020/03/21 23:01
阅读数 173

zookeeper中,我们可以监控特定的znode节点。当节点发生变化时,便会给监控方发送事件通知。这有点类似于发布-订阅模式,拿Redis来说,当我们发布新消息时,Redis便会通知订阅者。

从设计模式上来说,事件通知属于观察者模式。当被观察者发生某种变化时,通知观察者,观察者对通知作出响应。

在业务上,可以将事件通知独立成一个微服务:事件中心。本质上,kafka能做什么,事件中心就能做什么。记得一句话,大概的意思的是:任何问题,都能通过抽象一个中间服务层来解决

事件中心,主要包括两部分:

  1. 创建事件
  2. 订阅事件

拿客户端冷启动的事件为例。我们需要在用户打开APP的时候,做一些特殊的业务逻辑(这种情况应该挺常见的)。事件中心的处理流程包括:

  1. 在事件中心创建一个客户端冷启动的事件标识
  2. 业务在后台订阅这个标识,并配置一个请求地址,用于接受事件回调通知
  3. 客户端冷启动时,通知事件中心,事件中心触发回调通知

事件中心充当了代理的角色,因为有了事件中心作为中间层,发布事件的逻辑和消费事件的逻辑可以并行开发。同时,如果有别的业务也需要关注客户端冷启动事件,在事件中心订阅这个事件就可以了。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部