事件通知
3 月,跳不动了?>>> 在 zookeeper 中,我们可以监控特定的 znode 节点,当节点发生变化时,便会给监控方发送事件通知。这有点类似于发布-订阅模式,拿 Redis 来说,当我们发布新消息时, Redis 便会通知订阅者。 从设计模式上来说,事件通知属于观察者模式。当被观察者发生某种变化时,通知观察者,观察者对通知作出处理。 在业务上,将事件通知独立成一个微服务:事件中心,目的是解耦业务。本质上, kafka 能做什么,事件中心就能做什么。记得看过一句话,大概的意思的是: 任何问题,都能通过抽象一个中间服务层来解决 。 实现一个事件中心,主要包括两部分: 创建事件 订阅事件 拿客户端冷启动的事件为例,我们可能需要在用户打开 APP 的时候,做一些特殊的业务逻辑(这种情况应该挺常见的)。事件中心的业务处理流程包括: 在事件中心创建一个客户端冷启动的标识 业务在后台订阅这个标识,并配置一个请求地址,用于接受回调通知 客户端冷启动时,通知事件中心,事件中心触发回调通知 事件中心充当了代理的角色,因为有了事件中心作为中间层,发布事件的逻辑和消费事件的逻辑可以并行开发,同时,如果有别的业务也需要关注客户端冷启动事件,在事件中心订阅这个事件就可以了。 来源: oschina 链接: https://my.oschina.net/u/3017278/blog/3207906