第08課 Retained 訊息和 LWT

2021-10-25 08:29:01 字數 435 閱讀 3152

在這一課裡面我們來學習一下 retained 訊息和 lwt。本節課核心內容:

讓我們來看一下這個場景:

你有乙個溫度感測器,它每三個小時向乙個 topic 發布當前的溫度。那麼問題來了,有乙個新的訂閱者在它剛剛發布了當前溫度之後訂閱了這個主題,那麼這個訂閱端什麼時候能才能收到溫度訊息?

對的,它必須等到三個小時以後,溫度感測器再次發布訊息的時候才能收到。在這之前,這個新的訂閱者對感測器的溫度資料一無所知。

怎麼來解決這個問題呢?

這個時候就輪到 retained 訊息出場解決這個問題了。retained 訊息是指在 publish 資料報中 retain 標識設為 1 的訊息,broker 收到這樣的 publish 包以後,將儲存這個訊息,當有乙個新的訂閱者訂閱相應主題的時候,broker 會馬上將這個訊息傳送給訂閱者。

第08課 服務異常處理

我們的服務最終是部署在伺服器上,因為各種原因,服務難免會發生故障,那麼其他服務去呼叫這個服務就會調不到,甚至會一直卡在那裡,導致使用者體驗不好。針對這個問題,我們就需要對服務介面做錯誤處理,一旦發現無法訪問服務,則立即返回並報錯,我們捕捉到這個異常就可以以可讀化的字串返回到前端。為了解決這個問題,業...

第08課 從自然語言處理角度看 HMM 和 CRF

近幾年在自然語言處理領域中,hmm 隱馬爾可夫模型 和 crf 條件隨機場 演算法常常被用於分詞 句法分析 命名實體識別 詞性標註等。由於兩者之間有很大的共同點,所以在很多應用上往往是重疊的,但在命名實體 句法分析等領域 crf 似乎更勝一籌。通常來說如果做自然語言處理,這兩個模型應該都要了解,下面...

Zinx v0 8訊息佇列和任務池

訊息佇列和任務池 原來乙個鏈結對應乙個reader和乙個writer,乙個訊息對應handler 原來客戶端發乙個message,伺服器會開闢乙個handler goroutine去處理業務。很多message會有很多handler goroutine 為了提高效能,要降低gorouine數量 手段...