事件通知

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

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

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

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

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

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

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

事件中心充当了代理的角色,由于有了事件中心做为中间层,发布事件的逻辑和消费事件的逻辑能够并行开发。同时,若是有别的业务也须要关注客户端冷启动事件,在事件中心订阅这个事件就能够了。code

相关文章
相关标签/搜索