我們將在三十天的旅程內,從入門的角度宏觀地了解微服務(Microservices)與其所相關的設計模式。同時,你將能透過 PHP 程式語言在實際的程式設計範例下實踐你的微服務,在旅途中我們將一起解決一些挑戰:處理微服務溝通、學習服務協作(Service Orchestration)設計模式,以及處理分散式架構所需面臨的交易(Transaction)問題。期待在這趟旅程中,能夠使你收穫滿滿。
在服務協作的設計模式中,所有的流程控制與邏輯決策皆由協作器掌握。一旦協作器遭遇意外故障,將會導致資料遺失,進而無法保證資料一致性。我們可以透過故障轉移(Fail...
如果你是跟著文章一天接著一天實作的讀者,那麼你需要確保你的 : Anser-Tutorial-Service 使用的是最新的 v1.1.0 以上的版本...
如果你是跟著文章一天接著一天實作的讀者,那麼你需要確保你的 : Anser-Tutorial-Service 使用的是最新的 v1.1.1 以上的版本...
在動態且複雜的協作器實作中,面對各式各樣的異常情況及不可預期的錯誤是在所難免的。在前幾章節中,我們已經探討了利用 Anser-Saga 的高可用性元件,對被中斷...
從前兩章的實作中,我們了解了如何使用 Anser 的交易措施,在保持微服務資料一致性的情況下,也能有一些手段提高協作器的可用性。在經歷了兩章的實作,你應該會好奇...
經歷了將近一個月的分享,筆者已完整地傳達了 Anser 的開發理念,因此在接下來的章節中將會向外擴張一些額外的知識。Anser 在開發的過程中並沒有依賴外部的軟...
PHP,作為網頁開發的主流語言之一,從誕生到現在已近三十個年頭。至今大部分執行 PHP 的方式大多都採用無狀態的方式執行。傳統的 PHP 執行模式雖然便利和成熟...
一直以來,多數的 PHP 應用程式都是阻塞式地執行。當 PHP 程式遇到如資料庫查詢或檔案讀寫等操作時,它會等待這些動作完成才繼續執行下一行程式碼。在較高並行處...
經過了前兩章的分享,我們成功地使用 PHP 建立起了一個非阻塞的常駐型伺服器。本章我們將關注於如果將 Workerman 與 Swow 等技術與 Anser 進...
回顧首篇文章替整個系列訂下了開發與學習的目標,在系列文的最後一篇我們將側重於總結我們達成的目標,與現有的其他解決方案。 回顧 單體式應用程式與微服務 在單體式應...