日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ABP vNext微服务架构详细教程——架构介绍

發布時間:2023/12/4 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABP vNext微服务架构详细教程——架构介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

總體架構

  • 所有應用服務、API網關、身份認證服務均部署在Kubernetes容器中,由Kubernetes提供應用配置、服務治理、服務監控等功能。

  • 客戶端所有訪問均通過Kubernetes的Nginx-Ingress接入服務集群,并由API網關負責路由匹配和身份認證后轉發至相應的應用服務處理。應用微服務中不需要二次做身份認證。

  • 身份認證服務用戶登錄、驗證的相關接口。所有請求只在網關做身份認證,下層服務不需要做二次身份認證。

  • 數據庫、緩存、日志服務等服務建議部署于獨立的服務器上,按需求也可以部署于容器中。

具體架構如下圖:

分層架構

這里我們主要講述服務端,服務分層架構如下:

網關層作為業務服務的總出入口,所有服務調用均需要通過API網關。這里我們使用.Net Core中常用的Ocelot網關

身份認證服務我們采用ABP vNext框架模板提供的身份服務模塊,其核心為封裝了IdentityServer4.0框架用于提供OAuth2.0協議各種接口。身份認證服務所需數據直接來自數據庫或緩存。

聚合服務層主要用于聚合、調度服務層一個或多個微服務。客戶端訪問的所有接口(除身份認證服務接口以外)均由聚合服務層提供。應用層服務不直接訪問數據庫,而是通過調用服務層對應服務實現數據操作。通常我們做詳細的接口權限管理,也是應用層接口與權限做對應。應用層服務我們采用WebApi+ABP vNext框架實現。

基礎服務層,建議依據領域驅動設計思想劃分,每個領域設計為一個微服務。該層服務提供具體的領域模型、領域業務的實現。通常每個微服務對應一個數據庫,通過倉儲實現數據庫操作。基礎服務層服務不直接提供客戶端訪問接口,收到請求時也不需要做身份認證、鑒權處理。這里我把基礎服務層服務分為兩類:第一種是身份管理服務,負責用戶角色權限管理,使用ABP vNext框架Application模板構建;第二種是其他業務微服務,提供用戶角色權限管理以外的其他業務功能,使用ABP vNext框架Module模式構建。

數據庫這里我們采用MySQL、緩存這里采用Redis、日志服務采用Elasticsearch+Logstash+Kibana(ELK)。

具體服務圖中服務劃分以Demo為例,實際開發中請依據各自項目實際需求對服務進行拆分設計。

由于Demo中設計的應用場景相對簡單,更多技術及ABP框架詳細用法請參考ABP官方文檔。

總結

以上是生活随笔為你收集整理的ABP vNext微服务架构详细教程——架构介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。