前幾天我們設計了系統大致的架構也選好了雲端服務供應商,今天我們就來決定要選用的雲端元件 根據既有架構,我們初步規劃所需的服務種類如下: 運算服務: 用於執行...
回顧首篇文章替整個系列訂下了開發與學習的目標,在系列文的最後一篇我們將側重於總結我們達成的目標,與現有的其他解決方案。 回顧 單體式應用程式與微服務 在單體式應...
經歷了將近一個月的分享,筆者已完整地傳達了 Anser 的開發理念,因此在接下來的章節中將會向外擴張一些額外的知識。Anser 在開發的過程中並沒有依賴外部的軟...
如果你是跟著文章一天接著一天實作的讀者,那麼你需要確保你的 : Anser-Tutorial-Service 使用的是最新的 v1.1.1 以上的版本...
在服務協作的設計模式中,所有的流程控制與邏輯決策皆由協作器掌握。一旦協作器遭遇意外故障,將會導致資料遺失,進而無法保證資料一致性。我們可以透過故障轉移(Fail...
如果你是跟著文章一天接著一天實作的讀者,那麼你需要確保你的 : Anser-Tutorial-Service 使用的是最新的 v1.0.5 以上的版本...
Anser Saga 元件設計圖 Anser-Saga 元件基於現有的 Anser-Orchestration 元件進行設計;此元件負責執行與管理在進行分...
在微服務架構中,每個微服務都是一個獨立的單元,擁有自己的資料庫和交易管理。由於微服務之間可能需要進行交互操作,因此確保每個微服務的交易安全和資源操作的安全性是非...
在微服務架構中,每個服務都是獨立且自治的,每個服務都有自己的資料庫系統並維護著自身的資料庫交易實作。當業務流程需要跨多個服務時,便會面臨分散式交易(Distri...
如果你是跟著文章一天接著一天實作的讀者,那麼你需要確保你的 Anser-Tutorial-Service 使用的是最新的 v1.0.3 以上的版本;或者是在你...
上一章,我們了解了如何在一個協作器中同時編排順序與並行並存的協作器,本章我們將聚焦在協作器的物件實體本身。在這個章節中,我們利用 PHP 的語法特性與你介紹幾種...
在現實世界的開發環境中,我們不可能永遠碰到最簡單的業務狀況,一定會有不同的複雜溝通需要處理。而在複雜的微服務架構中,如何確保多個服務之間的協作不僅高效且容易維護...
緊接著上一個章節,本章將討論如何處理一個協作器的回傳。 定義協作器執行結束後的回傳內容 協作器成功 延續上一章的範例程式碼,我們繼續往下看。 protected...
從這個章節開始,我們將會使用到第四章中除了 Main App 以外的所有服務。因此,尚未建立相關環境的讀者請前往第四章並依照教學建立起你的本地環境;除此之外,我...
在這個章節中,我們會延續使用第九章服務抽象化的程式碼,請實作過第九章的讀者繼續保持你的本地環境;若你是還沒實作過第九章內容的讀者,建議你重回上一章了解 Anse...
在這個章節,我們會使用到 User Service 與 Main App,請參考第四章節所提到的內容建立你的本地開發環境。 Simple Service 在先前...
在這個章節,我們會使用到 User Service 與 Main App,請參考第四章節所提到的內容建立你的本地開發環境。 延續前幾章,你可以將專案內的 ini...
在這個章節,我們會使用到 HttpbinOrg 、 User Service 與 Main App,請參考第四章節所提到的內容建立你的本地開發環境。 延續第四章...
在這篇文章中我們會使用到 Production Service 與 Main App,請參考第四章節所提到的內容建立你的本地開發環境。 在開始本章前我們得先調整...
如同第三章所介紹的,Anser 分為三大部分。在這個單元中,將會聚焦在「Service」的設計理念與各類別的使用方式。 上圖顯示的是一個簡單的 Service...
本系列文章的一大核心重點為「實作」,在接下來的每一個章節中,我們將會圍繞著實際的程式設計,傳達在 PHP 程式語言下該如何實踐我們推薦的微服務設計模式。 首先,...
雁行,大雁依序以 V 型飛行的本能。 Anser 是筆者從研究所時期開始開發的 PHP Side Project。筆者最初分析了在基於 RESTful 設...
以人來說,溝通很重要,而微服務也是。 對開發者而言,「服務(Service)」應該是一個能夠被單獨布署且能夠自主提供某些功能的應用程式。通常,我們會提供某...
首先,我們從大多數人熟悉的單體式(Monolithic)架構說起。 Monolithic 就如同摩艾石像般,巨大、莊嚴,承載著文化的整體。 在單體式應用程...
架構與部署 本系列文章已來到了尾聲,在過程中我們學習如何建構服務功能,使用模組套件與工具,最後我們要來學習如何選擇架構以及部署微服務。 架構 部署之前,我們需要...
測試 單元測試或整合測試是軟體開發的重點之一,它能夠確保系統所有的服務元件都能如期運作。本次將會介紹測試基本的 Moleculer 應用程式。 這裡使用 Je...
REPL 主控台 moleculer-repl 是 Moleculer 專用的開發者互動式主控台。你可以利用它來得到目前服務相關資訊,也可以對服務下達一些動作或...
CLI 工具 moleculer-cli[2] 是一個命令列工具,可以幫助我們開發或測試。 安裝 npm install -g moleculer-cli 指...
資料庫 Adapters 資料庫 Adapters 就像 IKEA 家具一樣提供各種不同的組裝套件,你可以根據不同的需求來選擇適合的 Adapter 。 Mol...
API 閘道器 - Part 2 昨天介紹了閘道器的路由相關功能,今天要來談談它內建的各種屬性設定。 呼叫選項 路由中有一個 callOptions 屬性可以用...