事件通知

zookeeper中,咱們能夠監控特定的znode節點。當節點發生變化時,便會給監控方發送事件通知。這有點相似於發佈-訂閱模式,拿Redis來講,當咱們發佈新消息時,Redis便會通知訂閱者。node

從設計模式上來講,事件通知屬於觀察者模式。當被觀察者發生某種變化時,通知觀察者,觀察者對通知做出響應。設計模式

在業務上,能夠將事件通知獨立成一個微服務:事件中心。本質上,kafka能作什麼,事件中心就能作什麼。記得一句話,大概的意思的是:任何問題,都能經過抽象一箇中間服務層來解決微服務

事件中心,主要包括兩部分:設計

  1. 建立事件
  2. 訂閱事件

拿客戶端冷啓動的事件爲例。咱們須要在用戶打開APP的時候,作一些特殊的業務邏輯(這種狀況應該挺常見的)。事件中心的處理流程包括:代理

  1. 在事件中心建立一個客戶端冷啓動的事件標識
  2. 業務在後臺訂閱這個標識,並配置一個請求地址,用於接受事件回調通知
  3. 客戶端冷啓動時,通知事件中心,事件中心觸發回調通知

事件中心充當了代理的角色,由於有了事件中心做爲中間層,發佈事件的邏輯和消費事件的邏輯能夠並行開發。同時,若是有別的業務也須要關注客戶端冷啓動事件,在事件中心訂閱這個事件就能夠了。code

相關文章
相關標籤/搜索