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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

服务间调用要通过网关吗_Asp.Net Boilerplate微服务实战(二)架构解析

發(fā)布時(shí)間:2025/3/20 asp.net 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 服务间调用要通过网关吗_Asp.Net Boilerplate微服务实战(二)架构解析 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

????這一章節(jié),我來(lái)介紹一下Asp.Net Boilerplate框架在微服務(wù)開發(fā)中所用到的技術(shù)及其大體的組織架構(gòu)。由于本系列僅討論ABP框架在微服務(wù)架構(gòu)下的應(yīng)用方案,不涉及具體的業(yè)務(wù)邏輯,所以在文中,不討論服務(wù)拆分方案等細(xì)節(jié),也未采用中臺(tái)架構(gòu)等復(fù)雜架構(gòu)方案,此類方案可依據(jù)業(yè)務(wù)需求進(jìn)行設(shè)計(jì),與Asp.Net Boilerplate框架本身無(wú)關(guān)。

????雖然Asp.Net Boilerplate和AbpvNext從框架層面有很大區(qū)別,會(huì)影響到微服務(wù)的分層和模塊組織方式等細(xì)節(jié)實(shí)現(xiàn),但是對(duì)于微服務(wù)的總體架構(gòu)及技術(shù)選型方面差別不大。

? ? 這里,我借用ABPvNext的一張微服務(wù)架構(gòu)示意圖:

我們會(huì)用到圖中提及的一下技術(shù):????

  • API網(wǎng)關(guān)作為服務(wù)調(diào)用的總?cè)肟?#xff0c;同時(shí)負(fù)責(zé)了負(fù)載均衡、身份認(rèn)證、熔斷、限流等功能,Ocelot是基于.NetCore實(shí)現(xiàn)的一個(gè)主流API網(wǎng)關(guān),對(duì)于以.Net技術(shù)為主的研發(fā)人員來(lái)說(shuō),更容易使用及修改。

  • IdentityServer也是基于.NetCore開發(fā),是ABP官方推薦的身份認(rèn)證框架。在這里,我們也同樣以IdentityServer4作為身份認(rèn)證中心。

  • ELK(Elasticsearch、Logstash、Kibana)是目前最常用的日志服務(wù)之一(不僅限于.Net技術(shù)棧),實(shí)際使用中,我們通常會(huì)有直接寫入lasticsearch、使用ELK+Filebeat、ELK+Kafuka等多種方式。

  • 微服務(wù)間通訊方式有同步和異步兩種方式,需要依據(jù)不同業(yè)務(wù)場(chǎng)景進(jìn)行選擇。其中同步通訊有多種實(shí)現(xiàn)方式,這里我使用了和AbpvNext微服務(wù)Demo相同的內(nèi)外雙網(wǎng)關(guān)方式,服務(wù)間調(diào)用通過(guò)內(nèi)網(wǎng)關(guān)調(diào)用WebAPI接口方式實(shí)現(xiàn)。

  • AbpvNext提供了跨服務(wù)的事件總線機(jī)制,但是Asp.Net Boilerplate未對(duì)此進(jìn)行封裝和支持,需要我們額外進(jìn)行開發(fā)。

? ? 除此之外,我們還會(huì)用到其他一些組成微服務(wù)架構(gòu)必須的技術(shù)組件:

  • 服務(wù)注冊(cè)和發(fā)現(xiàn)采用Consul

  • 配置中心采用Apollo

  • 應(yīng)用性能監(jiān)測(cè)采用Skywalking

? ? 在此基礎(chǔ)上,我們會(huì)發(fā)現(xiàn)即使我們按照業(yè)務(wù)聚合拆分了不同的網(wǎng)關(guān),單一網(wǎng)關(guān)能夠承載的服務(wù)數(shù)量依舊非常有限。通常我會(huì)使用Nginx作為作為上層負(fù)載均衡機(jī)制,組成網(wǎng)關(guān)集群。或依據(jù)項(xiàng)目訪問量需求,使用云服務(wù)提供商提供的SLB組成更加復(fù)雜的負(fù)載均衡方案。

????最終我們用到的技術(shù)模塊如下:

????后面幾期,我會(huì)按照各個(gè)模塊分別對(duì)Asp.Net Boilerplate在微服務(wù)架構(gòu)中的應(yīng)用細(xì)節(jié)進(jìn)行分享,敬請(qǐng)期待……

總結(jié)

以上是生活随笔為你收集整理的服务间调用要通过网关吗_Asp.Net Boilerplate微服务实战(二)架构解析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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