使用領域驅動設計DDD和CQRS實現身份驗證的微服務原始碼專案
這是一個使用領驅動設計方法設計的完整 Spring Boot 身份驗證微服務,點選標題。
主要目標的:
- 展示如何實現領域驅動設計
- 展示如何實現 CQRS
- 演示應用程式的完整實現
- 這不是另一個概念證明 (PoC)
- 目標是展示可以在生產環境中執行的應用程式的實現
- 展示最佳實踐和物件導向程式設計原則的應用
- 介紹設計模式的使用。何時、如何以及為什麼可以使用它們
- 使用領域驅動設計方法(戰術模式)演示實現
- 介紹領域模型單元測試的實現(考慮可測試設計)
- 介紹整合測試的實施
- 僅介紹測試 Web 層的實現
主要思想是建立用於身份驗證的小型微服務,以提供下一個功能:
- 表格註冊
- 表單登入、谷歌登入、Facebook 登入
- 找回密碼
- 電子郵件通知
- 會話識別和認證
建立一個可重用的微服務網路,由以下微服務組成:
- 服務發現(可能使用 K8s)。
- 建立用於身份驗證的微服務(當前儲存庫)。
- 建立用於授權的微服務 - RBAC 的簡單實現。
- 建立用於傳送電子郵件的微服務。
- 建立用於本地化的微服務——這個想法是提供用於將應用程式翻譯成各種語言的 UI,作為大多數應用程式的通用部分。
- 為非同步通訊(AC)建立一個微服務——這個想法是建立一個在微服務之間分發訊息的微服務。微服務應該在 DB(例如 Redis)和 RMQ 上工作以提供非同步。微服務應該提供 REST API 來訪問它。這樣,我們應該只在一個地方擁有 RMQ,並且與這個微服務的通訊應該透過 REST API。微服務應提供以下路由:
- 其他微服務註冊訊息的路由。例如,電子郵件微服務可以註冊帶有所需屬性、端點和版本的訊息傳送電子郵件。該配置應儲存到資料庫中。
- 傳送訊息 - 例如,身份驗證微服務應在使用名稱send-email和所需屬性註冊使用者後傳送訊息。AC 微服務將接收該訊息,驗證所需的屬性,使用端點(儲存在 DB 中)豐富訊息正文並將訊息釋出到 RMQ。RMQ 消費者將消費訊息並將其分發到端點。
點選標題
相關文章
- 領域驅動設計DDD和CQRS架構模式落地實踐架構模式
- 領域驅動設計(DDD)實踐之路(二):事件驅動與CQRS事件
- 結合領域事件和微服務的實現領域驅動設計 - Alagarsamy事件微服務
- 用 F#和EventStore實現DDD領域驅動設計
- DDD領域驅動設計:領域事件事件
- 微服務領域驅動設計 - semaphoreci微服務
- 領域驅動設計實踐——驗證(一)
- 領域驅動設計(DDD)實踐之路(一)
- SoftwareMill實現領域驅動設計的經驗REM
- 淺談DDD(領域驅動設計)
- 淺談 DDD 領域驅動設計
- DDD-領域驅動設計示例
- 向領域驅動設計前進: 如何使用DDD實現從單體到微服務遷移? -Kevin Mas Ruiz微服務UI
- 領域驅動設計,中臺與微服務微服務
- 領域驅動設計:CQRS 和事件源的強大功能事件
- 實現領域驅動設計
- DDD領域驅動設計總結和C#程式碼示例C#
- 領域驅動設計 (DDD) 簡介 - jannikwempe
- 領域驅動設計(DDD)入門&概要
- 領域驅動設計DDD應用心得
- 基於gRPC、API閘道器和身份驗證的Go微服務原始碼專案RPCAPIGo微服務原始碼
- DDD(領域驅動設計)是微服務體系結構的核心和最重要的基礎 - Prabhat微服務
- DDD領域驅動設計初探(5):AutoMapper使用APP
- 微服務與領域驅動設計,架構實踐總結微服務架構
- 領域驅動設計(DDD)高手養成記
- 微服務架構設計基礎之領域驅動設計微服務架構
- 去哪兒網領域驅動設計(DDD)實踐之路
- 實戰DDD(Domain-Driven Design領域驅動設計)AI
- 領域驅動設計之實戰許可權系統微服務微服務
- DDD領域驅動設計初探(7):Web層的搭建Web
- 讀《實戰DDD(Domain-Driven Design領域驅動設計:Evans DDD)》想到的AI
- dayatang/dddlib:DDD領域驅動設計庫
- 領域驅動設計(DDD:Domain-Driven Design)AI
- 領域模型驅動設計(DDD)之模型提煉模型
- 領域驅動模型DDD(三)——使用Saga管理事務模型
- 實現領域驅動設計 - 使用ABP框架 - 建立實體框架
- 《實現領域驅動設計》筆記——領域、子域和限界上下文筆記
- 領域驅動設計(DDD)中模型的重要性 - Jeronimo模型