如何使用 Microsoft.FeatureManagement 實現 Feature Toggle

在軟體生命週期地演進的過程中,在不同的階段可能需要將某一些功能啟用或停用,這時候就可以選擇 Feature Toggle,微軟的 Microsoft.FeatureManagement 正好是選擇之一,除了基本的 Feature Toggle Flags 之外,也整合到 ASP.NET Core 的生命週期裡面,還有整合 Azure。下圖出自 針對目標受眾啟用分段推出功能 - Azure App Configuration | Microsoft Learn

條件式功能旗標
...繼續閱讀 »

負載壓力測試工具 - NBomber

NBomber 是一個將自身定位為獨立於協議的輕量型的壓力測試套件,使用   F# 中開發的,測試可以用 F# 和 C# 編寫。它是真的開 C# 專案編寫負載測試,JMeter 和 K6 都是編譯好的二進位檔,寫測試時,需要使用他們規定的腳本語言;如果你是 C# 開發者,NBomber 就能夠很輕鬆的客製化你想要的功能

...繼續閱讀 »

簡單實作 ASP.NET Core 6 的 Idempotent Key / Idempotency Key

HttpMethod 的幂等性(Idempotent),指的是相同的請求參數,不論調用幾次結果都是相同的,不會影響結果。例如,PUT 要求必須具有等冪性。 若用戶端多次送出相同的 PUT 要求,結果應該永遠保持不變 (使用相同的值會修改相同的資源)。為什麼需要冪等,假設,在店商平台購物,付款時,連續點選了兩次支付,如果平台沒有做好保護、驗證,就會發生扣款兩次,我們會有幾種手段來避免這樣的事發生:前端攔截(PRG 防止表單重送)、平台語言鎖、分散式鎖、資料庫主鍵、唯一鍵 / 唯一索引、資料庫樂觀鎖定(搭配版號)、Token 令牌…等。

...繼續閱讀 »