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

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

JMeter 是我目前正在使用的壓力測試工具,支援 GUI、CLI,配置容易,也能自動化,網路上的教學資源也相當的豐富,在這裡我將分享我常用的配置,希望對你有幫助

HttpMethod 的幂等性(Idempotent),指的是相同的請求參數,不論調用幾次結果都是相同的,不會影響結果。例如,PUT 要求必須具有等冪性。 若用戶端多次送出相同的 PUT 要求,結果應該永遠保持不變 (使用相同的值會修改相同的資源)。為什麼需要冪等,假設,在店商平台購物,付款時,連續點選了兩次支付,如果平台沒有做好保護、驗證,就會發生扣款兩次,我們會有幾種手段來避免這樣的事發生:前端攔截(PRG 防止表單重送)、平台語言鎖、分散式鎖、資料庫主鍵、唯一鍵 / 唯一索引、資料庫樂觀鎖定(搭配版號)、Token 令牌…等。
K6 是一套用 JavaScript 編寫測試腳本的工具,對於前端的開發夥伴可是相當的友善,Jetbrains IDE 也有整合它,在開發/測試體驗上肯定有一定的水準,為此深得我心,於是便快速的調查一番,紀錄使用心得

ASP.NET Core 提供了健康檢查的 Middleware,可以讓我們很輕鬆的知道應用程式目前的本身的狀態以及應用程式所依賴其他服務的狀態;也可以讓容器協調器進行重新啟動容器或是暫停服務,比如 K8s 的 Liveness、Readiness
令人驚喜的是 AspNetCore.HealthChecks.UI 提供 UI / Alert 讓監視系統變得更有效率了

Serilog 已經是我們團隊的標準的 Log Provider,在此我針對它的配置粗略的紀錄,希望可以幫助到需要的人

以往我們在 .Net Fx 可以透過 Transforms 來切換不同的組態,而在 .NET Core 開始,則改用 Microsoft.Extensions.Configuration 來處理組態,上篇 也針對 Microsoft.Extensions.Configuration 進行了介紹,這篇將針對 .NET 應用程式注入環境的做法做一個簡單的介紹

當你的服務需要隱藏真實的訊息給調用端時,除了在每一個 Action 各自處理,Middleware 也是選擇之一,本想這應該是很簡單的操作,沒想到碰了一鼻子灰,以下是我複寫 HttpContext.Response.Body 的步驟,希望對正觀看的你有幫助。
在介接其他人寫的 Web API 時,可以透過 Mock Server 來模擬對方會回傳的資料,比如說 json-server,但這樣往往會因為兩造之間沒有一個合約、規範,各自實作,導致最後在整合的時落差太大;理論上,雙方基於合約、規範,進行開發,最後在整合的時候應該有問題的狀況應該會小一點,Prism 是套基於 Swagger/OpenAPI Specification 的 Mock Server,在 OpenAPI 的生態系裡面算是蠻完整的解決方案之一,接下來,是我對它在使用上的小小心得。
當我們的 Swagger / OpenAPI Specification 寫到某一個程度就會開始想要模組化、重用它,例如,當 components/schemas 節點需要被其他的檔案參照。