微服務 ASP.NET Core 程式碼庫,包含符合 RealWorld 規格和 API 的真實範例(CRUD、驗證、進階模式等)。
建立此程式碼庫是為了示範使用ASP.NET Core建立的成熟的微服務架構。它包括 gRPC、領域驅動設計、CQRS、中介器、代理以及更多模式。
它完全遵循ASP.NET Core社群風格指南和最佳實踐。
有關如何與其他前端/後端配合使用的更多信息,請訪問 RealWorld 存儲庫。
微服務架構 - 提供高度可維護、可測試、鬆散耦合的服務集合的架構風格,這些服務可獨立部署並圍繞業務功能進行組織。服務層位於域模型之上。
領域驅動設計-引導我們專注於我們領域的小型、個人、近乎自主的部分,我們的流程和最終的軟體更加靈活。我們可以輕鬆地移動或修改小部件,而不會產生任何副作用。
透過 gRPC 進行通訊 - 一種新的、不斷發展的跨平台、跨語言連接服務的方式。
遠端代理 - 充當本機資源,同時隱藏如何透過網路連接到遠端資源的詳細資訊。它充當客戶端和服務之間的 API 網關。
應用函數式原則 - C# 中的函數式程式設計可以讓您深入了解程式的行為方式。這裡的具體主題是不可變架構、避免異常、原始痴迷、如何處理故障和輸入錯誤等等。
命令-查詢職責分離 (CQRS) - 鼓勵您理清單個統一的領域模型並建立兩個模型:一個用於處理命令,另一個用於處理查詢。 CQRS 讓我們對讀取和寫入做出不同的決策,這反過來又帶來三個好處:可擴展性、效能和最大的好處,簡單性。 CQRS 將 CQS 擴展到架構層級。
MediatR - 確保訊息被路由到適當的位置。因此,您可能會認為它更像是一個記憶體中訊息傳遞系統。
Docker——容器代表了一種更高密度的“虛擬化”,能夠比傳統的虛擬機器管理程式更好地滿足某些場景的需求。
Travis CI - 用於建置和測試專案的持續整合服務。 Travis CI 會自動偵測何時進行提交並將其推送到使用 Travis CI 的 GitHub 儲存庫,每次發生這種情況時,它都會嘗試建立專案並執行測試。