從 ASP.NET Core HybridCache 到瀏覽器端 HTTP Cache

續上篇 .NET 9 HybridCache 實戰,我們已介紹 Server\-Side 的快取架構(L1 記憶體快取、L2 分散式快取)。本篇將聚焦在 Client-Side 的快取機制(HTTP Cache):透過正確設定 HTTP 標頭,讓瀏覽器優先使用本地快取,降低伺服器負載並提升使用者體驗。

本篇會以實作程式碼示範各種 Cache-Control 指令的行為差異與適用情境。

...繼續閱讀 »

.NET 9 的混合式快取 HybridCache

在現代 Web 應用程式開發中,快取是提升應用程式效能不可或缺的技術。在過去,我們會使用 IMemoryCache 做記憶體快取,或者使用 IDistributedCache 做分散式快取。

.NET 9 引入了全新的 HybridCache,它結合了記憶體快取(L1)和分散式快取(L2)的優勢,讓我們能夠在同一個 API 中享受兩層快取的效能提升,同時還提供了快取雪崩保護和標籤管理等進階功能。

...繼續閱讀 »

監視 Docker Container 資源 (cAdvisor + node-exporter + prometheus + grafana)

cAdvisor 是一個開源的容器資源使用情況和效能分析工具,主要由 Google 開發。它專門用於收集、聚合、處理和匯出有關執行中容器的資訊。
Node-Exporter 收集主機層級的各種指標,包括:CPU 使用率、記憶體使用情況、磁碟 I/O 統計、網路流量、檔案系統使用率、系統負載

  • Node Exporter:關注整個主機/節點層級的指標
  • cAdvisor:專注於容器層級的指標

再搭配上 Prometheus 收集指標,用 Grafana 呈現資訊

圖片

出自 https://blog.techbridge.cc/2019/08/26/how-to-use-prometheus-grafana-in-flask-app/

...繼續閱讀 »

使用 Docusaurus 整合 OpenAPI/Swagger 文檔

Docusaurus (Document(文件)+ saurus(恐龍)),是由 Facebook 推出的開源靜態網站生成工具,以 React 技術構建,提供快速建置以文檔內容為核心的網站。我在 Survey 有哪些框架可以快速的把一堆 OpenAPI 文檔,轉成靜態頁面並且搜尋頁面內容,Claude 推薦我使用 Docusaurus

...繼續閱讀 »

如何使用 Mock Server 建立假服務

上篇 提到使用 Prism 來建立 Mock Server,經同事反饋,他期望能使用類似像 Wiremock 有 API 可以在測試步驟根據場景快速的定義 Mock Server 的回傳值,而我期望除了用 API 動態的決定 Mock Server 的回傳值之外,還能匯入 Open API/Swagger,於是我把我手上收集的 Mock Server 清單玩了一遍,發現這一套 Mock Server 可以滿足我需要的

...繼續閱讀 »

不使用 HttpContext 傳遞 Context 的寫法

上篇 有提到可以透過 ASP.NET / ASP.NET Core 的 HttpContext 來傳遞狀態,由於他的生命週期很短,每一個調用者擁有獨立的狀態,很適合用來跨層傳遞狀態;現在,我想要降低對 HttpContext 的依賴,改由自訂的 ContextAccessor 保留物件的狀態,傳遞系統所必要的狀態,統一由一個點進行修改,比如登入帳號、追蹤 Id,其他的點,只能取用不能修改。

...繼續閱讀 »