Day 08:Coroutine Context 與例外處理,協程出錯了誰負責 結尾把 Coroutine Scope、Structured Concurren...
《Day 07:Dispatchers,協程實際跑在哪條執行緒上》 結尾留下一個問題:Dispatcher 其實只是協程隨身攜帶的其中一項設定,那協程執行時還帶...
Day 06:Structured Concurrency,為什麼協程不能亂長亂放 結尾留下一個問題:確立了協程之間誰該對誰負責之後,這些協程實際上到底是在哪一...
Day 05:Coroutine Scope,協程住在哪裡、活多久 結尾留下一個問題:同一個 Scope 裡如果同時養著好幾個協程,其中一個先執行完,或者其中一...
《Day 04:小結:把 Thread 模型與協程模型放在一起比一次》 結尾留下一個疑問:訂單查詢與扣庫存服務裡,有些步驟適合同時發起,一旦一個請求裡需要同時或...
《Day 03:第一個 suspend function,協程到底暫停了什麼》結尾留下一個疑問:一個函式暫停了,那一整串呼叫呢。今天先不回答這個疑問,而是往回看...
《Day 02:Thread-per-Request 模型的極限,搞懂你原本在用什麼》 結尾停在一個問句上:如果執行緒能在等待的時候先被借走,去處理別的請求,等...
《Day 01:為什麼高併發後端需要協程,從一個會卡住的 API 說起》結尾留下一個看似簡單卻很少人真正答得出來的問題:你的 Spring Boot 應用程式收...
昨天我們深入剖析了 Timeout 設定與容量規劃的數學公式,證明了盲目放寬 Timeout 只會讓連線池乾涸。 今天,我們要將壓力測試的視角從PUT上傳轉向l...
昨天在 Day 00 的地圖裡,我們先按下不表那個會卡住的 API,只留下一句預告:今天要把它攤開來看清楚,它到底卡在哪裡。現在就從這個畫面開始。 開場,一個會...
如果你是一個習慣寫 Java 後端的工程師,大概對這個畫面不陌生。系統上線初期流量還小,每個 API 都反應飛快,Controller 收到請求,Service...
昨天我們成功在 JMeter 上傳併發測試中,證明了前面寫的保護api的功能將 3 秒超時引發的錯誤率從 53% 降至 0%,並透過 Grafana 發現真正的...
我們從一開始的三高指標與同步/非同步引擎對決,一路升級到分散式環境下的防禦機制(Semaphore 背壓限流、Double-Check 、uploadId 冪等...
在前幾天的文章中,我們在微服務中建構了多道盾牌,從透過headObject 探針解決網路超時問題的 Double-Check Pattern,實作 Idempo...
昨天我們完成了 Double-Check Pattern 的實作,當 putObject 發生 timeout 時,後端不再直接回傳失敗,而是使用 headOb...
在前兩篇中,我們在本地開發環境裡,利用了 simulateScenario 在代碼內部模擬超時,驗證了自我修復確實可以起死回生,手把手完成了微服務的三層防禦盾牌...
昨天我們說明了網路世界最殘酷的一面。當微服務呼叫 AWS S3 上傳檔案時,如果發生 TimeoutException時不能直接斷言上傳一定失敗,也有可能是上傳...
昨天我們用 Spring Boot 框架將 Apache 同步與 Netty 非同步引擎封裝成了對外的微服務 API。 理論說得天花亂墜,但在本機電腦上,這兩...
前一篇 Day 7 左右開弓 : Java實作 Apache 同步與 Netty 非同步 S3 上傳裡面,我們成功在本地終端機中驗證了 Apache 同步與 N...
摘要Day 18 已經把驗證流程放進 Docker 與 CI quality gate。Day 19 把既有規則測試、分層驗證測試、情境測試與版本比較測試整理...
前言:現實世界充滿變數,你的 API 夠強壯嗎? 經過前幾天的實作,我們已經打造出一個具備記憶力、且能穩定輸出 JSON 格式課表的 AI 教練 API。但在準...
摘要Day 15 已經把代表案例整理成 Expected / Actual 測試,Day 16 已經把契約 v1.0 / v1.1 的基本比較結果接回畫面。D...
摘要Day 15 已經把契約 v1.0 / v1.1 的代表案例整理成最小情境測試包,證明 Expected / Actual 結果可以穩定重跑。Day 16...
摘要Day 14 已經把契約 v1.0 / v1.1 的基本比較骨架接起來,證明同一份 Bundle 可以因為 v1.1 新增 UCUM system/cod...
Spring Schedule電商專案實作 - 定期處理未付款訂單.final 處理最後的通知part ⭐⭐⭐ 這個部分跟Schedule就比較沒有關係啦~...
Spring Schedule電商專案實作 - 定期處理未付款訂單.2 @Transactional與@Scheduled並用問題 ⭐⭐⭐⭐⭐ 昨天,我將「...
Spring Schedule電商專案實作 - 定期處理未付款訂單.1 OrderSchedule ⭐⭐⭐ 在 task/ 目錄下,我新建了一個OrderS...
關於Spring的TaskScheduler與TaskExecutor @Scheduled的追本溯源 ⭐⭐⭐⭐⭐ 當我們使用了 @Scheduled 來設...
Spring Boot 設定 Properties Value 去除空白 概述 在設計Spring boot應用程式時,因環境不同需要設定不同的Properti...
Spring Boot Cache — Redis 快取暫存處理 (提供開關) 概述 之前發文分享過 Spring Boot Cache — Caffeine...