最近接觸到微服務框架go-zero,翻看了整個框架代碼,發現結構清晰、代碼簡潔,所以決定閱讀源碼學習下,本次閱讀的源碼位於core/syncx/singleflight.go。在go-zero中SingleFlight的作用是:將併發請求合併成一個請求,以減少對下層服務的壓力。應用場景----查詢緩存時,合併請求,提升服務性能。假設有一個 IP 查詢的服務,每次用戶請求先在緩存中查詢一個 IP 的 ⌘ Read more
最近接觸到微服務框架go-zero,翻看了整個框架代碼,發現結構清晰、代碼簡潔,所以決定閱讀源碼學習下,本次閱讀的源碼位於core/syncx/singleflight.go。在go-zero中SingleFlight的作用是:將併發請求合併成一個請求,以減少對下層服務的壓力。應用場景----查詢緩存時,合併請求,提升服務性能。假設有一個 IP 查詢的服務,每次用戶請求先在緩存中查詢一個 IP 的 ⌘ Read more