用 moon-bbq-backend 練習拆微服務
拿正在跑的 moon-bbq-backend 當練習對象,實際拆出一個 stats-service:盤點候選、設計事件合約、部署到 Render,最後老實檢討——這次拆分對專案本身到底有沒有實質好處。
讀取中...
讀取中...
Blog
技術筆記、建站紀錄,還有一些說不清楚是什麼、但還是想留下來的日常,都先落腳在這裡。
拿正在跑的 moon-bbq-backend 當練習對象,實際拆出一個 stats-service:盤點候選、設計事件合約、部署到 Render,最後老實檢討——這次拆分對專案本身到底有沒有實質好處。
家人在學 Java,跟著學的過程一直忍不住拿它跟每天在用的 Node.js、Go 比較。並行模型(event loop vs goroutine vs Java 21 的 virtual thread)、部署與冷啟動、生態系成熟度,拿自己手上的專案(moon-bbq-backend、COME.ANC13、PTT bot)當實際案例對照,而不是空泛比較。
練習把 moon-bbq-backend 拆成微服務之前,先搞懂 Docker Compose 在幹嘛——services、build、環境變數、depends_on/healthcheck、volume,一路寫到加入第三個服務怎麼驗證,順便修了一個把正式站密鑰烤進 image 裡的地雷。
模組化是同一個 process 裡怎麼切,微服務是要不要拆成不同 process——這兩個常被搞混。從三個判斷標準到 Netflix、Segment、Amazon Prime Video 三個業界案例,整理「到底該不該拆」這件事。