網路連結 為了使節點 (ServiceBrokers) 能夠互相通訊連結,需要設置一個 Transporter 來處理通訊傳輸事件。Moleculer 支援常見...
這裡我們用 labels 將 Service 物件跟 Deployment 物件綁在一起。 labels: app: auth-server select...
資料庫 Adapters 資料庫 Adapters 就像 IKEA 家具一樣提供各種不同的組裝套件,你可以根據不同的需求來選擇適合的 Adapter 。 Mol...
Broker 昨天已經帶給大家 Moleculer 的核心概念,今天要介紹的是 Moleculer 的主要元件之一 Broker [1]。每個節點都需要建立一個...
Context 當你呼叫 Action 或送出事件時, Broker 會建立一個包含所有請求資訊的 Context 實例,然後將資訊透過 ctx 參數傳遞給 A...
這裡我們用 labels 將 Service 物件跟 Deployment 物件綁在一起。 labels: app: auth-server select...
Services Service 指的是 Moleculer 框架中的微服務,也就是 broker 執行 createService 時的內容。例如你可以在微服...
課程目標了解什麼是微服務的架構以及使用 UML 塑模呈現從問題領域界定 Bounded Area 成?一個微服務單一微服務內部的組成分層結構了解幾個常用的微服務...
Actions - Part 1 昨天我們透過簡單的範例來了解 Services 的基本綱目,而今天要來專注於說明 Actions 的規則與用法。 在服務中可以...
Middlewares Moleculer 框架也支援 Middlewares ,類似插入模組套件的概念。 Middlewares 是一個帶有 Hook 與包裝...
Moleculer Runner Moleculer Runner 是一個輔助腳本,它可以幫你管理 Moleculer 服務。有了它,你就不用自己建立帶有選項的...
Events 服務內建一個事件匯流器來支援事件驅動架構,以及發送事件至本地與遠端服務。 注意,內建的事件是射後不理的,若服務為離線狀態則事件將會丟失。對於需要...
API 閘道器 - Part 1 目前為止,我們已經學會了 Moleculer 的主要功能,接著要來介紹相關的模組工具。 首先今天要介紹的是最重要的模組 mol...
生命週期 Broker 生命週期 本節將介紹 Broker 的生命週期中,啟動 Broker 與停止 Broker 到底各自發生了什麼事情。 啟動邏輯 當一個...
API 閘道器 - Part 2 昨天介紹了閘道器的路由相關功能,今天要來談談它內建的各種屬性設定。 呼叫選項 路由中有一個 callOptions 屬性可以用...
負載平衡 Moleculer 內建了幾種負載平衡策略,如果服務在多個節點實例運作, ServiceRegistry 可以使用這些策略來從活躍的節點中選擇某個節點...
Actions - Part 2 Action 可視化 Action 提供一個 visibility 屬性來控制服務的動作是否可視及呼叫。 可用的值: nu...
Tracing 先前我們介紹了 Logging 與 Metrics 兩個服務監控機制,今天要來探討 Moleculer 內建的 Tracing 模組,它用於收集...
測試 單元測試或整合測試是軟體開發的重點之一,它能夠確保系統所有的服務元件都能如期運作。本次將會介紹測試基本的 Moleculer 應用程式。 這裡使用 Je...
Metrics Moleculer 內建的 Metrics 可以收集系統內部大量的流程指標,而且可以很簡單的定義你自己的客製化 Metrics。系統內建了幾個...
CLI 工具 moleculer-cli[2] 是一個命令列工具,可以幫助我們開發或測試。 安裝 npm install -g moleculer-cli 指...
註冊與探索 動態服務探索 試想當一個節點啟動時,遠端節點該如何知道它的存在? 在 Moleculer 框架就有一個內建模組可以用來探索及定期 Heartbeat...
以人來說,溝通很重要,而微服務也是。 對開發者而言,「服務(Service)」應該是一個能夠被單獨布署且能夠自主提供某些功能的應用程式。通常,我們會提供某...
快取 當大量的請求進來時,快取可以用來降低資料庫的負擔。Moleculer 提供了一個內建的快取解決方案用來快取 Actions 的響應,可以在 Service...
首先,我們從大多數人熟悉的單體式(Monolithic)架構說起。 Monolithic 就如同摩艾石像般,巨大、莊嚴,承載著文化的整體。 在單體式應用程...
本系列文章的一大核心重點為「實作」,在接下來的每一個章節中,我們將會圍繞著實際的程式設計,傳達在 PHP 程式語言下該如何實踐我們推薦的微服務設計模式。 首先,...
參數驗證 參數驗證 middleware 可以用於 Actions 及事件的參數驗證。 Fastest Validator Moleculer 預設使用與本框架...
雁行,大雁依序以 V 型飛行的本能。 Anser 是筆者從研究所時期開始開發的 PHP Side Project。筆者最初分析了在基於 RESTful 設...
經歷了將近一個月的分享,筆者已完整地傳達了 Anser 的開發理念,因此在接下來的章節中將會向外擴張一些額外的知識。Anser 在開發的過程中並沒有依賴外部的軟...
如同第三章所介紹的,Anser 分為三大部分。在這個單元中,將會聚焦在「Service」的設計理念與各類別的使用方式。 上圖顯示的是一個簡單的 Service...