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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

abp vNext微服务框架分析

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

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

難點(diǎn)

在開始分析前先介紹下該框架中的難點(diǎn),沒有微服務(wù)開發(fā)經(jīng)驗(yàn)的可能要對以下難點(diǎn)進(jìn)行研究。

難點(diǎn)一:identity server4身份驗(yàn)證框架,該框架是根據(jù).net core identity身份機(jī)制擴(kuò)展的框架,vNext微服務(wù)中身份驗(yàn)證服務(wù)就是基于該框架。官方文檔:http://docs.identityserver.io/en/latest/

難點(diǎn)二:ocelot網(wǎng)關(guān)框架,vNext中使用該框架提供統(tǒng)一的網(wǎng)關(guān)地址,vNext中給網(wǎng)關(guān)進(jìn)行了分類,分為內(nèi)部網(wǎng)關(guān)、后臺管理網(wǎng)關(guān)、公共網(wǎng)關(guān),這些網(wǎng)關(guān)分別代理了下游不同的微服務(wù)。官方文檔:https://ocelot.readthedocs.io/en/latest/

難點(diǎn)三:docker容器化管理,微服務(wù)開發(fā)中普遍應(yīng)用到了容器化技術(shù),基于該技術(shù)可實(shí)現(xiàn)快速構(gòu)建和部署,大大提高微服務(wù)團(tuán)隊(duì)協(xié)作效率,如果要選型微服務(wù)技術(shù),該項(xiàng)難點(diǎn)必須攻克。

難點(diǎn)總結(jié)

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

MicroserviceDemo服務(wù)分析

abp vNext微服務(wù)Demo提供多個公共微服務(wù)和一個產(chǎn)品服務(wù),分別是身份授權(quán)服務(wù)(AuthServer),后臺管理網(wǎng)關(guān)服務(wù)(BackendAdminAppGateway),內(nèi)部網(wǎng)關(guān)服務(wù)(InternalGateway),門戶網(wǎng)站網(wǎng)關(guān)服務(wù)(PublicWebSiteGateway),博客服務(wù)(BloggingService),用戶管理服務(wù)(IdentityService),產(chǎn)品服務(wù)(ProductService)。在這些服務(wù)的基礎(chǔ)上可以做各種業(yè)務(wù)開發(fā),目前vNext的文檔還不夠完善,建議業(yè)務(wù)開發(fā)暫時集成在產(chǎn)品服務(wù)中。下面開始為以上服務(wù)分別介紹,MicroserviceDemo中還有其他幾個服務(wù),因?yàn)橛貌簧纤跃筒唤榻B了。

服務(wù)分層

MicroserviceDemo對微服務(wù)進(jìn)行了分層,分為微服務(wù)層(microservices)、網(wǎng)關(guān)層(gateways)、應(yīng)用層(applications)和模塊層(modules)。

微服務(wù)層(microservices):

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

這三個微服務(wù)可以單獨(dú)部署,也可以通過docker集群部署,服務(wù)中發(fā)布的接口可以直接調(diào)用,但是建議不要單獨(dú)調(diào)用服務(wù)中的接口,最好通過網(wǎng)關(guān)調(diào)用。docker部署效果:

實(shí)際開發(fā)中這些工程基本無需改動,因?yàn)楣こ虄?nèi)沒有任何業(yè)務(wù)代碼,僅有全局Autofac依賴注入框架注冊和身份以及.net core管道注冊。

網(wǎng)關(guān)層(gateways):

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

應(yīng)用層(applications):

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

模塊層(modules)

模塊層中是業(yè)務(wù)代碼的實(shí)現(xiàn)層,該層中可以根據(jù)需要實(shí)現(xiàn)各種業(yè)務(wù)系統(tǒng),如CRM、OMS、ERP等等。模塊層使用的是ddd架構(gòu)風(fēng)格,和aspnet zero風(fēng)格一致,有了ddd的保駕護(hù)航,相信后面的業(yè)務(wù)開發(fā)也會非常的順暢,后面我會介紹模塊中的實(shí)際業(yè)務(wù)開發(fā)。

?總結(jié)

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

原文鏈接:https://www.cnblogs.com/william-xu/p/11245738.html


.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。