看板 Soft_Job 關於我們 聯絡資訊
相信大家都知道發布 / 訂閱模式,開發者可以透過第三方開源工具像是 Redis, NSQ 或 Nats 等來實現訂閱機制,本篇則是會教大家如何用 Go 語言寫出一個單機版本的 Pub/Sub 模式,在單一系統內非常輕量級,且不需要靠第三方服務就可以輕易實現。底下 會直接用單一訂閱 Topic 機制來撰寫 Publisher 及 Subscriber。 00:00 為什麼要用 Go 語言實現 Pub/Sub 模式 01:00 Subscriber 訂閱訊息 05:14 Publisher 發送訊息 07:19 Unsubscribe 取消訂閱 10:01 實際範例 11:14 使用 goleak 偵測代碼是否有 leaks 15:18 心得 部落格: https://bit.ly/pub-sub-in-go 程式碼: https://bit.ly/3P0WzXN 影片: https://www.youtube.com/watch?v=blaYXmmA8zw
PS. 面試來討論這題,應該可以有不錯的交流? -- AppleBoy Blog: http://blog.wu-boy.com -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.110.136.13 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1651398064.A.707.html
devilkool: 有點興趣,先推再看 05/01 17:54
shaomi: 推 來研究 05/01 17:56
gofigure: 蠻好奇怎麼會用time sleep而不是用wait group 05/01 19:02
gofigure: 有些細節還是可以看出來一些東西 ... 05/01 19:02
wahaha279: 酷 05/01 19:18
lovdkkkk: 模式本身跟實作細節還好 使用情境可以問很多東西 不過那 05/01 20:51
lovdkkkk: 些直接拿 redis 等工具的做法去問也一樣 還比較好聚焦 05/01 20:53
YorkLai: 推推 05/01 23:02
appleboy46: @gofigure main.go 用來 Demo 而已,就沒有進一步考慮 05/02 07:16
appleboy46: 需要在 main 結束前等待 Message 處理完畢。 05/02 07:16
appleboy46: 做服務還是要把 Graceful Shutdown 考慮進去 05/02 07:18
appleboy46: 可以參考這篇文章: https://bit.ly/3F8QiVq 05/02 07:18
ThisRay: 推 05/02 09:41
popcorny: 推! 05/03 23:11
blazers08: 推 05/05 15:30
piece601: 這不是傳說中的 Appleboy 嗎 05/10 14:33