近年來,Microservices 架構逐漸受到青睞,特別是在大型企業中。相比於傳統的 Monolithic 應用,Microservices 更能促進團隊間的協作,並有效減少單點故障等問題。然而,Microservices 同時也帶來了一系列挑戰,例如:如何監控這些服務、釐清服務之間的依賴關係以及確保資料的一致性等。本系列文章將透過 NestJS 帶領讀者探索 Microservices 的世界,幫助讀者掌握核心技術,並靈活運用 NestJS 應對真實場景中的技術挑戰。
什麼是 Custom Transporter? NestJS 提供了一些常見、常用的 Transporter,像是:Redis、NATS、gRPC 等,但有時候...
什麼是 NSQ? NSQ 是一個高效、可靠的即時分散式訊息處理系統,以去中心化的設計提供了高可用性和水平擴展能力。它適合用於需要低延遲和高吞吐量的訊息傳遞,如:...
微服務的健康狀態 在微服務架構中,服務的健康狀態非常重要,原因是當某個服務發生故障時,有可能直接或間接導致依賴於它的其他服務產生問題。如果沒有一個機制能夠得知服...
微服務的監控 在微服務架構中,會同時存在多個服務,這些服務各自使用不同的技術、存在於不同的主機、有各自的生命週期,這使系統的 複雜度大幅提升,同時也讓 維運成本...
NestJS 與 Prometheus 使用 NestJS 要如何將相關監控資料提供給 Prometheus 抓取呢?有官方套件可以使用嗎?很遺憾的是,Nest...
微服務的 Log Log 是系統運作時產生的記錄,可以是系統發生的事件、錯誤訊息或是其他 有助於釐清系統行為與問題的重要線索。一個最簡單、基礎的 Log 可以是...
Log 的管理 隨著服務規模的增長,Log 管理面臨許多挑戰。過去,服務通常會將 Log 寫入本地檔案進行保存,但這種做法存在多種缺點,比如:沒有一個集中管理的...
服務的追蹤 一個功能所執行的商業邏輯可能會非常複雜,在微服務架構下,這些邏輯通常會跨越多個服務來完成。在這種情況下,要釐清整個過程中經過了哪些服務、效能瓶頸出現...
NestJS 與 OpenTelemetry OpenTelemetry 有提供 Node.js 的 Client SDK,讓 Node.js 開發者可以透過其...
微服務的程式碼管理策略 在 Monolithic 架構下,經常會將程式碼放在同一個 Git Repository,包含:前端、後端等。不過在微服務架構下,因為不...