資料庫 Adapters 資料庫 Adapters 就像 IKEA 家具一樣提供各種不同的組裝套件,你可以根據不同的需求來選擇適合的 Adapter 。 Mol...
回顧首篇文章替整個系列訂下了開發與學習的目標,在系列文的最後一篇我們將側重於總結我們達成的目標,與現有的其他解決方案。 回顧 單體式應用程式與微服務 在單體式應...
單體式系統架構差成多個微服務後,第一個要面臨的問題就是從程式內部呼叫,轉變為外部呼叫,這些服務之間到底要怎麼溝通呢? 我們有以下考量 通訊協定 同步通訊協定...
如果我們服務邊切也切割好了,那下一個要處理的問題,就是切割共用模組。 為什麼要切割模組? 因為即使我們把服務切開了,它們之間還是有一些共用的程式碼,例如 i18...
Martin Fowler 大大說:「微服務架構具有諸多迷人特質,然而,通往它的路途滿布荊棘與陷阱,必須謹慎提防。」 如果你還沒被上一篇的內容嚇跑,那所以接下來...
Context 當你呼叫 Action 或送出事件時, Broker 會建立一個包含所有請求資訊的 Context 實例,然後將資訊透過 ctx 參數傳遞給 A...
CLI 工具 moleculer-cli[2] 是一個命令列工具,可以幫助我們開發或測試。 安裝 npm install -g moleculer-cli 指...
說到容器化,我們就不能不提到 Docker 了,Docker 可以讓我們每個微服務都擁有自己專屬的環境。 除此之外,我們需要倚賴 Kubernetes 來做服務...
這篇看錯方向,看到 tf v1 的文件去了,之後會再把內容更新成 v2 的。 tf.compat.v1.train.GradientDescentOpti...
以人來說,溝通很重要,而微服務也是。 對開發者而言,「服務(Service)」應該是一個能夠被單獨布署且能夠自主提供某些功能的應用程式。通常,我們會提供某...
Metrics Moleculer 內建的 Metrics 可以收集系統內部大量的流程指標,而且可以很簡單的定義你自己的客製化 Metrics。系統內建了幾個...
Moleculer Runner Moleculer Runner 是一個輔助腳本,它可以幫你管理 Moleculer 服務。有了它,你就不用自己建立帶有選項的...
首先,我們從大多數人熟悉的單體式(Monolithic)架構說起。 Monolithic 就如同摩艾石像般,巨大、莊嚴,承載著文化的整體。 在單體式應用程...
Tracing 先前我們介紹了 Logging 與 Metrics 兩個服務監控機制,今天要來探討 Moleculer 內建的 Tracing 模組,它用於收集...
這裡我們用 labels 將 Service 物件跟 Deployment 物件綁在一起。 labels: app: auth-server select...
快取 當大量的請求進來時,快取可以用來降低資料庫的負擔。Moleculer 提供了一個內建的快取解決方案用來快取 Actions 的響應,可以在 Service...
本系列文章的一大核心重點為「實作」,在接下來的每一個章節中,我們將會圍繞著實際的程式設計,傳達在 PHP 程式語言下該如何實踐我們推薦的微服務設計模式。 首先,...
Services Service 指的是 Moleculer 框架中的微服務,也就是 broker 執行 createService 時的內容。例如你可以在微服...
Middlewares Moleculer 框架也支援 Middlewares ,類似插入模組套件的概念。 Middlewares 是一個帶有 Hook 與包裝...
API 閘道器 - Part 1 目前為止,我們已經學會了 Moleculer 的主要功能,接著要來介紹相關的模組工具。 首先今天要介紹的是最重要的模組 mol...
註冊與探索 動態服務探索 試想當一個節點啟動時,遠端節點該如何知道它的存在? 在 Moleculer 框架就有一個內建模組可以用來探索及定期 Heartbeat...
測試 單元測試或整合測試是軟體開發的重點之一,它能夠確保系統所有的服務元件都能如期運作。本次將會介紹測試基本的 Moleculer 應用程式。 這裡使用 Je...
Events 服務內建一個事件匯流器來支援事件驅動架構,以及發送事件至本地與遠端服務。 注意,內建的事件是射後不理的,若服務為離線狀態則事件將會丟失。對於需要...
負載平衡 Moleculer 內建了幾種負載平衡策略,如果服務在多個節點實例運作, ServiceRegistry 可以使用這些策略來從活躍的節點中選擇某個節點...
API 閘道器 - Part 2 昨天介紹了閘道器的路由相關功能,今天要來談談它內建的各種屬性設定。 呼叫選項 路由中有一個 callOptions 屬性可以用...
Actions - Part 1 昨天我們透過簡單的範例來了解 Services 的基本綱目,而今天要來專注於說明 Actions 的規則與用法。 在服務中可以...
這裡我們用 labels 將 Service 物件跟 Deployment 物件綁在一起。 labels: app: auth-server select...
課程目標了解什麼是微服務的架構以及使用 UML 塑模呈現從問題領域界定 Bounded Area 成?一個微服務單一微服務內部的組成分層結構了解幾個常用的微服務...
參數驗證 參數驗證 middleware 可以用於 Actions 及事件的參數驗證。 Fastest Validator Moleculer 預設使用與本框架...
生命週期 Broker 生命週期 本節將介紹 Broker 的生命週期中,啟動 Broker 與停止 Broker 到底各自發生了什麼事情。 啟動邏輯 當一個...