iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
自我挑戰組

Concurrency in go 讀書心得 系列

希望透過這本書的閱讀與心得來加深對於golang concurrency的理解。

鐵人鍊成 | 共 30 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 21

20.Queue

我們在之前的章節列舉了Pipeline(管道)的各種優點,但有時候,盡管管道沒有準備好,我們的程序依然還是要幹活的,這種處理方式,被稱為“Queue”(隊列)。...

2023-10-05 ‧ 由 konchok3po 分享
DAY 22

22.Context

在併發程式中,由於連接超時、使用者取消或系統故障,往往需要執行搶佔操作。過去,我們利用 done 通道在程式中取消所有阻塞的並發操作,儘管這方法有其效用,但確實...

2023-10-06 ‧ 由 konchok3po 分享
DAY 23

23.Error-propagation

使用併發代碼,特別是分布式系統,在系統中很容易出現問題,而且很難確認發生這種問題的原因。仔細考慮問題是如何通過系統傳播的,以及如何最終呈現給用戶,你會為自己,團...

2023-10-07 ‧ 由 konchok3po 分享
DAY 24

24.Timeout and Cancellation

在編寫併發代碼時,超時和取消會頻繁出現。那麽,我們為什麽需要併發程序支持超時呢?系統飽和正如我們在“隊列”部分所討論的那樣,如果系統已經達到最大負荷(即,它的處...

2023-10-08 ‧ 由 konchok3po 分享
DAY 25

25.Heartbeat

心跳(heartbeat)是併發進程向外界發出信號的一種方式。命名者從人體解剖學中受到啟發,使用心跳一詞表示被觀察 者的生命體征。心跳在Go語言出現前就已被廣泛...

2023-10-09 ‧ 由 konchok3po 分享
DAY 26

26.Replicated request

對於大部分應用,儘可能快地響應請求是首要任務。例如,應用程序可能正在服務用戶的HTTP請求,或者檢索複製的數據塊。在這些情況下,你需要做出權衡:是將請求複製到多...

2023-10-10 ‧ 由 konchok3po 分享
DAY 27

27.Rate limiting-1

如果你曾經使用過API來獲取服務,那麽你可能經受過與速率限制相抗衡。速率限制使得某種資源每次訪 問的次數受限。資源可以是任何東西:API連接,磁盤I/O,網絡包...

2023-10-11 ‧ 由 konchok3po 分享
DAY 28

28.Rate limiting-2

下面的程式碼提供方法,使得在多個時間粒度上都能夠實現速率限制。這樣可以為你的API或其他資源設置多層的保護機制,以避免被過度使用或遭受攻擊。 複雜的速率限制...

2023-10-12 ‧ 由 konchok3po 分享
DAY 29

29.Healing unhealthy goroutines

在一些長時間運行的系統中,如守護進程(Daemon process),經常有一些常駐的子程序,名為goroutines。這些goroutines有時會因外部資源...

2023-10-13 ‧ 由 konchok3po 分享
DAY 30

30.完賽心得

這一次鐵人賽終於順利結束了,在過去的三十天中,我們藉由concurrency in go這本書深入研究了Golang的併發編程,探討了併發的基本概念、Gorou...

2023-10-14 ‧ 由 konchok3po 分享