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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【转】abp vNext微服务框架分析

發布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】abp vNext微服务框架分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

abp vNext新框架的熱度一直都很高,于是最近上手將vNext的微服務Demo做了一番研究。我的體驗是,vNext的微服務架構確實比較成熟,但是十分難以上手,對于沒有微服務開發經驗的.net人員來說幾乎是看不懂的,所以研究一番后再這里做一些簡單的分析便于新手能夠快速理解并使用。

難點

在開始分析前先介紹下該框架中的難點,沒有微服務開發經驗的可能要對以下難點進行研究。

難點一:identity server4身份驗證框架,該框架是根據.net core identity身份機制擴展的框架,vNext微服務中身份驗證服務就是基于該框架。官方文檔:http://docs.identityserver.io/en/latest/

難點二:ocelot網關框架,vNext中使用該框架提供統一的網關地址,vNext中給網關進行了分類,分為內部網關、后臺管理網關、公共網關,這些網關分別代理了下游不同的微服務。官方文檔:https://ocelot.readthedocs.io/en/latest/

難點三:docker容器化管理,微服務開發中普遍應用到了容器化技術,基于該技術可實現快速構建和部署,大大提高微服務團隊協作效率,如果要選型微服務技術,該項難點必須攻克。

難點總結

以上列舉了vNext中重要的難點,其中identity server4身份服務是框架中最為重要的,也相當有難度。目前關于該框架的文檔還不是很多,所以想要使用vNext實際開發,ids4框架應該首先研究。ocelot網關配置相對要簡單些,也沒有單獨的ocelot數據庫需要配置,只要配置好相應的下游微服務地址就可以了,上手比較快。docker容器和構建部署屬于DevOps,如果公司有錢可以買Azure服務器,Azure非常的專業但是價格昂貴,如果購買普通的云服務那就只有用Jenkins自己搭建了。

MicroserviceDemo服務分析

abp vNext微服務Demo提供多個公共微服務和一個產品服務,分別是身份授權服務(AuthServer),后臺管理網關服務(BackendAdminAppGateway),內部網關服務(InternalGateway),門戶網站網關服務(PublicWebSiteGateway),博客服務(BloggingService),用戶管理服務(IdentityService),產品服務(ProductService)。在這些服務的基礎上可以做各種業務開發,目前vNext的文檔還不夠完善,建議業務開發暫時集成在產品服務中。下面開始為以上服務分別介紹,MicroserviceDemo中還有其他幾個服務,因為用不上所以就不介紹了。

服務分層

MicroserviceDemo對微服務進行了分層,分為微服務層(microservices)、網關層(gateways)、應用層(applications)和模塊層(modules)。

微服務層(microservices):

MicroserviceDemo微服務層中提供了三個微服務,分別是:IdentityService(用戶)、BloggingService(博客)、ProductService(產品)。IdentityService提供了用戶和角色信息管理,但是接口并不在該服務中,vNext將接口實現在底層module中,也就是volo包中,這種實現方式可能在以后的定制開發中有些不靈活。BloggingService服務提供了博客管理,管理接口也不再服務中實現。ProductService服務提供的是產品服務,同樣,該服務也沒有任何的接口實現,只是將模塊層中product模塊的接口發布出來,相當于ProductManagement的Host宿主。

這三個微服務可以單獨部署,也可以通過docker集群部署,服務中發布的接口可以直接調用,但是建議不要單獨調用服務中的接口,最好通過網關調用。docker部署效果:

實際開發中這些工程基本無需改動,因為工程內沒有任何業務代碼,僅有全局Autofac依賴注入框架注冊和身份以及.net core管道注冊。

網關層(gateways):

gateway服務都是網關服務,如果要開發后臺管理系統(B端),只需提供auth-server和backend-adminapp-gateway端口給前端即可。public-website-gateway是門戶網站網關服務提供博客和前臺(C端)網站統一網關;internal-gateway是內部網關服務提供微服務系統調用,該服務并沒有提供api接口,僅僅在系統內部可以調用;backend-adminapp-gateway是后臺管理系統網關提供B端系統統一網關。網關的工程結構非常簡單,在了解ocelot配置后,對下游服務做好配置就可以使用。

應用層(applications):

MicroserviceDemo中還提供了簡單的應用服務實現,分別是:AuthServer.Host(身份服務)、BackendAdminApp.Host(后端web應用)、ConsoleClientDemo(控制臺應用)、PublicWebSite.Host(公共web應用)。其中AuthServer最重要,也是整個微服務中的核心所在,AuthServer集成了identity server4框架,提供微服務統一的身份授權認證。AuthServer提供了簡單的登錄頁面和跳轉服務,但這些都是基于mvc開發,如果想要改為spa開發就要對.net core身份機制和ids4框架十分了解。由于我打算直接改為spa項目,所以后面的應用就不再介紹了,如果對mvc比較有興趣的可以深入了解。

模塊層(modules)

模塊層中是業務代碼的實現層,該層中可以根據需要實現各種業務系統,如CRM、OMS、ERP等等。模塊層使用的是ddd架構風格,和aspnet zero風格一致,有了ddd的保駕護航,相信后面的業務開發也會非常的順暢,后面我會介紹模塊中的實際業務開發。

總結

到這里abp vNext微服務框架基本介紹完了,能夠成功的部署和實際開發說明的框架本身的完善和強大,最近也將vue-element-admin框架登錄與vNext接入了,后續會有更多完善的全端介紹,感興趣的朋友可以持續關注下。總之萬丈高樓平地起,只要想辦法就沒有實現不了的,對于想要進入微服務領域的.net攻城獅,abp vNext是學習的不二選擇。

總結

以上是生活随笔為你收集整理的【转】abp vNext微服务框架分析的全部內容,希望文章能夠幫你解決所遇到的問題。

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