上一篇文章介紹了 SOA (Service-Oriented Architecture) 的遠大願景與淡淡哀傷的下場,而這一篇要講的是 SOA 在平行宇宙的成功...
Data Mesh & Microservices 在國內最專業的非 Brobridge 寬橋莫屬,看看這篇貼文就知。https://www.facebook....
身為一個後端工程師,知道怎麼導入與設計微服務 (Microservices)架構,似乎已經變成一個潛規則了,而這個假設可以輕易的從求職市場上得到驗證,你可以快速...
隨著時代變遷,企業需要加快創新與攻占市場,透過加速應用程式建置週期來獲得競爭優勢,已成為不可或缺的條件之一,面對這樣的需求,大型應用程式充滿挑戰,如:要如何更快...
什麼是 NATS ? 圖片來源 NATS 是一套輕量、安全且高效的訊息傳遞系統,經常用於微服務之間的溝通、物聯網設備的訊息傳遞、雲端原生(Cloud Nati...
本系列文章的一大核心重點為「實作」,在接下來的每一個章節中,我們將會圍繞著實際的程式設計,傳達在 PHP 程式語言下該如何實踐我們推薦的微服務設計模式。 首先,...
微服務下的事務管理 在多數商業應用下,每一個請求都可能需要對資料庫進行操作,在過去 Monolithic 的架構下,如果只針對單一資料庫做操作,在 事務(Tra...
首先,我們從大多數人熟悉的單體式(Monolithic)架構說起。 Monolithic 就如同摩艾石像般,巨大、莊嚴,承載著文化的整體。 在單體式應用程...
Nx Console 圖片來源 Nx Console 是一個 Nx 官方推出的 VSCode Extension,可以幫助開發者減少輸入 Nx Command...
微服務的 Log Log 是系統運作時產生的記錄,可以是系統發生的事件、錯誤訊息或是其他 有助於釐清系統行為與問題的重要線索。一個最簡單、基礎的 Log 可以是...
NestJS 微服務應用程式概念 在 NestJS 的世界裡,微服務應用程式(Microservices) 被定義為:使用與 HTTP 協定不同傳輸層的應用程式...
Log 的管理 隨著服務規模的增長,Log 管理面臨許多挑戰。過去,服務通常會將 Log 寫入本地檔案進行保存,但這種做法存在多種缺點,比如:沒有一個集中管理的...
微服務的監控 在微服務架構中,會同時存在多個服務,這些服務各自使用不同的技術、存在於不同的主機、有各自的生命週期,這使系統的 複雜度大幅提升,同時也讓 維運成本...
NestJS 與 Prometheus 使用 NestJS 要如何將相關監控資料提供給 Prometheus 抓取呢?有官方套件可以使用嗎?很遺憾的是,Nest...
微服務的程式碼管理策略 在 Monolithic 架構下,經常會將程式碼放在同一個 Git Repository,包含:前端、後端等。不過在微服務架構下,因為不...
什麼是 RabbitMQ? 圖片來源 RabbitMQ 是一套可靠且成熟的 Message Broker,支援多種傳輸協定,包含:AMQP、MQTT 等,同時...
什麼是 Redis ? 圖片來源 Redis 是一個基於記憶體的 key value 資料庫,在過去最常用來當作 快取(Cache) 的媒介,隨著 Redis...
微服務的健康狀態 在微服務架構中,服務的健康狀態非常重要,原因是當某個服務發生故障時,有可能直接或間接導致依賴於它的其他服務產生問題。如果沒有一個機制能夠得知服...
gRPC Transporter NestJS 實作了 gRPC Transporter,讓微服務應用程式可以用跟其他 Transporter 相似的開發風格來...
什麼是 Kafka? 圖片來源 Kafka 是一個分散式串流平台,專為巨量資料流設計,可透過水平擴展的方式來提升乘載量,甚至可以把資料存放於硬碟中,提供擴展性...
上一章,我們了解了如何在一個協作器中同時編排順序與並行並存的協作器,本章我們將聚焦在協作器的物件實體本身。在這個章節中,我們利用 PHP 的語法特性與你介紹幾種...
客戶端 (Client) 上一篇在介紹 NestJS 的微服務應用程式以及相關概念,那要如何用 NestJS 與微服務應用程式溝通呢?NestJS 有為此設計了...
服務的追蹤 一個功能所執行的商業邏輯可能會非常複雜,在微服務架構下,這些邏輯通常會跨越多個服務來完成。在這種情況下,要釐清整個過程中經過了哪些服務、效能瓶頸出現...
什麼是 MQTT ? 圖片來源 MQTT 是一個基於 TCP/IP、極輕量的傳輸協定,具有可靠性高、擴展性高、占用頻寬小等特性,主要用於 物聯網(Intern...
用 NestJS 實現 Orchestration Saga(下) 上一篇已經將 CreateOrderSaga 的部分實作出來了,不過還需要將訂單服務、商品服...
什麼是 gRPC? gRPC 是一套高效、跨平台、基於 HTTP/2 的 遠端程序呼叫(Remote Procedure Call, RPC) 框架,有低延遲、...
這篇是本系列文的最後一篇,來將這三十天的內容整理一下。下方是本系列文的索引列表,讓各位在需要的時候可以更快的找到自己所需要的文章: 簡介 NestJS 微...
微服務查詢的挑戰 在微服務架構下,資料會分散在各個服務的私有資料庫中,假如有個應用會需要從多個服務獲得資料並呈現在畫面上,勢必會面臨 如何查詢 的問題。前面在介...
在服務協作的設計模式中,所有的流程控制與邏輯決策皆由協作器掌握。一旦協作器遭遇意外故障,將會導致資料遺失,進而無法保證資料一致性。我們可以透過故障轉移(Fail...
在這個章節中,我們會延續使用第九章服務抽象化的程式碼,請實作過第九章的讀者繼續保持你的本地環境;若你是還沒實作過第九章內容的讀者,建議你重回上一章了解 Anse...