Contents
透過設計高可擴展性和高可用性系統,從整體式微服務架構演進為事件驅動的微服務架構
從這 17.5 小時的課程,你會學到
- 使用設計模式、原則和最佳實踐設計微服務架構
- 了解如何透過設計具有高可用性、高可擴展性、低延遲和網路故障復原能力的系統來處理數百萬個請求
- 從單體到無伺服器微服務的軟體架構設計之旅
- 逐步將架構從單體架構發展到事件驅動的微服務架構
- 使用單體設計電子商務應用程式 – 分層 – 簡潔 – 模組化單體 – 微服務 – 事件驅動架構和無伺服器微服務
- 微服務分解策略
- 微服務通訊(基於同步/非同步訊息的通訊、API 網關))
- 微服務資料管理(資料庫/查詢/命令/分散式事務)
- 微服務分散式事務管理
- 微服務分散式快取
- 使用容器和編排器進行微服務部署
- 微服務彈性、可觀察性、監控
- 微服務設計模式與最佳實踐
- 每個服務資料庫模式、多語言持久性與共享資料庫反模式
- API 閘道模式、前端後端模式-BFF、閘道路由/聚合/卸載模式
- 服務聚合器模式、服務註冊/發現模式
- 物化視圖模式、資料庫分片模式、CAP定理
- 扇出( Fan-out )發布/訂閱訊息傳遞模式、主題隊列連結和負載平衡模式
- CQRS 和事件溯源模式、最終一致性原則、CAP 定理
- SAGA 模式-基於編排/編排的SAGA,補償事務模式
- 事務寄件匣模式,雙寫問題
- CDC — 使用寄件匣( Outbox )模式變更資料捕獲
- GitHub 上現有微服務架構貯存庫( Repository )的程式碼審查
- 事件驅動的微服務架構中的事件中心與即時事件流
- 微服務分散式快取的快取旁路模式
- Sidecar模式、服務網格模式
- 用於微服務部署的 DevOps 和 CI/CD 管道
- 微服務部署策略:藍綠部署、滾動部署和金絲雀部署
- 基礎架構即程式碼 (Infrastructure as Code,IaC) 以及微服務部署中的使用
- 微服務彈性、可觀察性和監控模式
- 重試和斷路器模式
- 隔板( Bulkhead )/逾時/快取/回退( Fallback )模式
- 透過分散式日誌記錄實現微服務可觀察性的 Elastic Stack
- 微服務健康檢查:活性、就緒性和性能檢查
- AWS 上的無伺服器微服務架構實作
- 實踐設計活動,將設計架構從本地迭代到雲端無伺服器架構
- 重構系統設計以處理數百萬個請求
- 準備軟體架構面試
- 準備系統設計架構面試
要求
軟體架構基礎知識
課程說明
在本課程中,我們將學習如何使用設計模式、原則和最佳實踐來設計微服務架構,並從單體到微服務迭代設計架構。 我們將使用正確的架構設計模式和技術。
在課程結束時,你將了解如何透過設計系統來處理數百萬個請求,以在微服務分散式架構上實現高可用性、高可擴展性、低延遲和網路故障復原能力。
本課程將是軟體架構設計的旅程,逐步將架構從單一架構發展到事件驅動的微服務。
我們將從設計處理少量請求的電子商務整體架構開始軟體架構的基礎知識。
之後逐步發展架構:
- 分層架構
- 乾淨的架構
- 模組化整體架構
- 微服務
- 事件驅動的微服務架構
- 最後是無伺服器微服務架構,透過共同設計來處理數百萬個請求。 這是軟體系統設計的逐步過程,並遵循模式和原則從整體發展到微服務。
我們將從各方面討論微服務架構,
- 微服務分解( Decomposition )
- 微服務通訊(基於同步/非同步訊息的通訊、API 網關)
- 微服務資料管理(資料庫/查詢/命令)
- 微服務事務管理
- 微服務分散式快取
- 使用容器和編排器進行微服務部署
- 微服務彈性( Resilience )
應用微服務設計模式與實務。
我們將以微服務支柱的各個面向一起逐步設計重構架構。
我們將從設計整體架構開始。 你可以看到,我們有功能和非功能需求,這些需求應該涵蓋我們的設計,我們有模式和原則工具箱,我們將在發展架構時學習和使用這些原則。
學習方式—課程流程
我們始終從問題出發,嘗試透過學習和設計新的架構、模式和最佳實踐來解決這個問題。
問題 -> 學習 -> 設計 -> 適應 -> 評估
我們將為課程的每個部分完成一圈說完。 你會發現我們將依
要求,以便處理數百萬個請求,並學習在發展架構時將使用這些原則的新模式和實踐。
你會發現我們將添加新的要求,以便處理數百萬個請求添加新內容,並學習在發展架構時使用這些原則的新模式和實踐。
我們將看到充滿模式和原理的工具箱正在載入新模式並將它們應用到目前的設計中。 我們將看到最新的模式,我們使用 30 多種模式和實踐來實現高可擴展性、高可用性並處理數百萬個請求需求。
讓我列出一些我們在本課程中介紹的微服務模式;
- 每個服務一個資料庫( Database-per-Servic )模式
- API 網關模式、網關路由/聚合/卸載( Database-per-Servic )模式
- 前端模式 BFF 的後端
- 服務聚合器模式、服務註冊/發現模式
- 扇出發布/訂閱訊息模式
- 主題佇列鍊和負載平衡模式
- 共享資料庫反模式和多語言持久性
- 資料庫分片模式、CAP定理
- 物化視圖模式
- CQRS 和事件溯源模式
- SAGA 模式 — 基於編排/編排的 SAGA
- 補償交易( Compensating Transaction )模式
- 事務寄件箱( Transactional Outbox )模式
- 雙寫( Dual Write )問題
- CDC — 使用寄件匣模式變更資料捕獲
- 事件驅動的微服務架構中的事件中心與即時事件流
- 微服務分散式快取的快取旁路模式
- 邊車( Sidecar )模式
- 服務網格模式
- 用於微服務部署的 DevOps 和 CI/CD 管道
- 微服務部署策略:藍綠部署、滾動部署和 Canary(金絲雀)部署
- 基礎架構即程式碼 (IaC) 以及微服務部署中的使用
- 微服務彈性、可觀察性和監控模式
- 重試( Retry )和斷路器( Circuit Breaker )模式
- 隔板/逾時/快取/回退模式
- 透過分散式日誌記錄實現微服務可觀察性的 Elastic Stack
- 微服務健康檢查:活性、就緒性和性能檢查
- AWS 上的無伺服器微服務架構實作
因此,課程流程將是理論和實踐資訊並重;
- 我們總是從業務問題開始
- 我們將學習一種特定的模式、為什麼以及在哪裡應該使用
- 之後我們將看到應用這些模式的參考架構
- 之後,我們將應用這個新學到的模式來設計我們的架構
- 最後,我們將決定哪些技術可以作為該架構的選擇。
最後一節,我們將對 GitHub 上的現有微服務架構儲存庫進行 Code Review,以實際實現微服務架構。
所以本課程將包括
- 實踐設計活動
- 將設計架構從本地迭代到雲端無伺服器架構
- 將整體架構發展為事件驅動的微服務架構
- 重構系統設計以處理數百萬個請求
- 應用微服務設計模式和原則的最佳實踐
- 從通訊、資料管理、快取和部署等各個方面檢查微服務模式
- 準備軟體架構面試
- 準備系統設計架構面試考試。
我參加過多家著名公司的架構職位面試,也參與了軟體架構師職位的評估過程超過50+次面試,收集了軟體產業職位的架構要求。
因此,透過本課程,你獲得有關從整體架構到事件驅動的微服務架構的所有架構職位的實際經驗。
本課程是為初學者準備的,但至少你應該熟悉軟體架構的基礎知識。 本課程將提供良好的理論訊息,但也將包含 90% 的實踐設計活動。 所有課程架構步驟將逐步、共同設計。
我希望你能加入我的旅程並與我一起開發這個專案。
目標受眾
- 誰想成為軟體架構師
- 誰想深入了解現實案例中的微服務架構
- 誰想透過系統設計架構面試
講師簡介
Mehmet Ozkaya 軟體架構師|微服務| .NET | AWS | AZURE
GitHub aspnetrun 和 awsrun 貯存庫( repositories )的建立者
我在軟體開發產業擁有超過 15 年的工作經驗,曾在跨國公司擔任軟體/解決方案架構師。
專注於 .NET、AWS 和 Azure 生態系統上的微服務架構。
在 GitHub 上開發微服務儲存庫,並根據實際應用程式建立 Udemy 課程。
也創建有關為雲端原生和無伺服器事件驅動的微服務設計軟體架構的課程。
我經常在 GitHub 上開發,在 Medium 上寫部落格。
GitHub : mehmetozkaya
GitHub : awsrun – aspnetrun
字幕:中文、英文
- 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To
- 點選這個✨優惠連結✨ 獲取優惠( NT370 起 24 小時⚡️特價中 )| Udemy 永久擁有課程 ( 在電腦瀏覽器登入,點選“優惠連結”後再回想要的課程介紹中點選“報名參加課程”即可取得 )
- Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
- 手機上點選優惠連結看到的價格比電腦上看到的貴
- $代表當地貨幣, 如在台灣為 NT
- 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現
報名參加課程

也許你會有興趣
- Microservices 相關線上課程
- ★英語學習地圖 – 練好英文是最大的學習槓桿
- 如何找工作學習地圖 – 找工作不要靠運氣!
- 從 Soft & Share 各種社團頻道挑選你喜歡的加入
發表迴響