iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
Modern Web

30 天上手! PHP 微服務入門與開發 系列

我們將在三十天的旅程內,從入門的角度宏觀地了解微服務(Microservices)與其所相關的設計模式。同時,你將能透過 PHP 程式語言在實際的程式設計範例下實踐你的微服務,在旅途中我們將一起解決一些挑戰:處理微服務溝通、學習服務協作(Service Orchestration)設計模式,以及處理分散式架構所需面臨的交易(Transaction)問題。期待在這趟旅程中,能夠使你收穫滿滿。

鐵人鍊成 | 共 30 篇文章 | 9 人訂閱 訂閱系列文 RSS系列文
DAY 21

第二十一章、Anser-Saga: 高可用性設計理念 - PHP 微服務入門與開發

在服務協作的設計模式中,所有的流程控制與邏輯決策皆由協作器掌握。一旦協作器遭遇意外故障,將會導致資料遺失,進而無法保證資料一致性。我們可以透過故障轉移(Fail...

2023-09-30 ‧ 由 monkenwu 分享
DAY 22

第二十二章、Anser-Saga:替你的協作器加上一層保護 - PHP 微服務入門與開發

如果你是跟著文章一天接著一天實作的讀者,那麼你需要確保你的 : Anser-Tutorial-Service 使用的是最新的 v1.1.0 以上的版本...

2023-10-01 ‧ 由 monkenwu 分享
DAY 23

第二十三章、Anser-Saga:補償被中斷的協作器快照 - PHP 微服務入門與開發

如果你是跟著文章一天接著一天實作的讀者,那麼你需要確保你的 : Anser-Tutorial-Service 使用的是最新的 v1.1.1 以上的版本...

2023-10-02 ‧ 由 monkenwu 分享
DAY 24

第二十四章、Anser-Saga:重新執行被中斷的協作器快照 - PHP 微服務入門與開發

在動態且複雜的協作器實作中,面對各式各樣的異常情況及不可預期的錯誤是在所難免的。在前幾章節中,我們已經探討了利用 Anser-Saga 的高可用性元件,對被中斷...

2023-10-03 ‧ 由 monkenwu 分享
DAY 25

第二十五章、Anser-Saga:深入執行週期的高可用性元件 - PHP 微服務入門與開發

從前兩章的實作中,我們了解了如何使用 Anser 的交易措施,在保持微服務資料一致性的情況下,也能有一些手段提高協作器的可用性。在經歷了兩章的實作,你應該會好奇...

2023-10-04 ‧ 由 monkenwu 分享
DAY 26

第二十六章、Anser: 與框架整合,以 CodeIgniter4 為例 - PHP 微服務入門與開發

經歷了將近一個月的分享,筆者已完整地傳達了 Anser 的開發理念,因此在接下來的章節中將會向外擴張一些額外的知識。Anser 在開發的過程中並沒有依賴外部的軟...

2023-10-05 ‧ 由 monkenwu 分享
DAY 27

第二十七章、高效能PHP:Workerman - 常駐型 PHP Web 伺服器 - PHP 微服務入門與開發

PHP,作為網頁開發的主流語言之一,從誕生到現在已近三十個年頭。至今大部分執行 PHP 的方式大多都採用無狀態的方式執行。傳統的 PHP 執行模式雖然便利和成熟...

2023-10-06 ‧ 由 monkenwu 分享
DAY 28

第二十八章、高效能PHP:SWOW & Workerman - 以 Coroutine 實現的非阻塞常駐型 PHP Web 伺服器 - PHP 微服務入門與開發

一直以來,多數的 PHP 應用程式都是阻塞式地執行。當 PHP 程式遇到如資料庫查詢或檔案讀寫等操作時,它會等待這些動作完成才繼續執行下一行程式碼。在較高並行處...

2023-10-07 ‧ 由 monkenwu 分享
DAY 29

第二十九章、高效能PHP: Anser 與非阻塞常駐型 PHP Web 伺服器 - PHP 微服務入門與開發

經過了前兩章的分享,我們成功地使用 PHP 建立起了一個非阻塞的常駐型伺服器。本章我們將關注於如果將 Workerman 與 Swow 等技術與 Anser 進...

2023-10-08 ‧ 由 monkenwu 分享
DAY 30

第三十章、系列回顧 - PHP 微服務入門與開發

回顧首篇文章替整個系列訂下了開發與學習的目標,在系列文的最後一篇我們將側重於總結我們達成的目標,與現有的其他解決方案。 回顧 單體式應用程式與微服務 在單體式應...

2023-10-09 ‧ 由 monkenwu 分享