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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

YARP+AgileConfig 5分钟实现一个支持配置热更新的代理网关

發(fā)布時(shí)間:2023/12/4 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 YARP+AgileConfig 5分钟实现一个支持配置热更新的代理网关 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

YARP 是微軟開源的一個(gè)反向代理項(xiàng)目,英文名叫 Yet Another Reverse Proxy 。所謂反向代理最有名的那就是 nginx 了,沒錯(cuò) YARP 也可以用來完成 nginx 的大部分功能,比如根據(jù)不一樣的域名代理到不一樣的后端服務(wù)上。既然它可以做反向代理,那么其實(shí)也就可以做服務(wù)網(wǎng)關(guān)了,類似 Ocelot ,當(dāng)然缺少部分功能,比如限流降級(jí)等。Anyway ,今天先來體驗(yàn)一下。

運(yùn)行 YARP

YARP 使用起來非常簡單,它只是一個(gè)類庫而已。我們新建一個(gè) ASP.NET Core 的空網(wǎng)站。然后使用 nuget 安裝 Yarp.ReverseProxy 。

Install-Package?Yarp.ReverseProxy?-Version?1.0.0

修改 program.cs 文件為以下內(nèi)容:

var?builder?=?WebApplication.CreateBuilder(args); builder.Services.AddReverseProxy().LoadFromConfig(builder.Configuration.GetSection("ReverseProxy")); var?app?=?builder.Build(); app.MapReverseProxy(); app.Run();

在 appsettings.json 文件添加 ReverseProxy 節(jié)點(diǎn):

{"Logging":?{"LogLevel":?{"Default":?"Information","Microsoft":?"Warning","Microsoft.Hosting.Lifetime":?"Information"}},"AllowedHosts":?"*","ReverseProxy":?{"Routes":?{"route1"?:?{"ClusterId":?"cluster1","Match":?{"Path":?"{**catch-all}"},}},"Clusters":?{"cluster1":?{"Destinations":?{"destination1":?{"Address":?"https://www.baidu.com/"}}}}} }

我們配置一個(gè)集群cluster1,地址為百度的網(wǎng)址;再配置一個(gè)路由route1,匹配所有的url。這樣當(dāng)我們?cè)L問這個(gè)網(wǎng)站的時(shí)候所有的請(qǐng)求全部會(huì)代理給百度。
讓我們運(yùn)行起來試一下:可以看到我們?cè)L問 localhost:5085 的地址百度的內(nèi)容被渲染出來了。

集成 AgileConfig 來熱更新配置

通過以上我們簡單的演示了 YARP 的使用。我們的演示配置文件還算簡單,但是 YARP 的精髓其實(shí)都在配置文件里,如果你的代理策略很復(fù)雜那么 YARP 的配置就會(huì)相應(yīng)的很復(fù)雜。使用本地的 appsettings.json 顯然每次更新配置文件太麻煩,而且需要重啟 YARP 網(wǎng)關(guān)。以下我們演示下 YARP 如何集成 AgileConfig ,使得配置可以在線編輯,并且支持熱更新。
AgileConfig 是一個(gè)輕量級(jí)的配置中心,可以方便的為 .NET 項(xiàng)目提供配置中心功能,項(xiàng)目地址:https://github.com/dotnetcore/AgileConfig 。

運(yùn)行 AgileConfig 服務(wù)端

AgileConfig 服務(wù)端可以通過 docker 方便的部署起來。

sudo?docker?run?\ --name?agile_config?\ -e?TZ=Asia/Shanghai?\ -e?adminConsole=true?\ -e?db:provider=sqlite?\ -e?db:conn="Data?Source=agile_config.db"?\ -p?5000:5000?\ #-v?/your_host_dir:/app/db?\ -d?kklldog/agile_config:latest

部署成功后,我們?cè)趹?yīng)用界面新建一個(gè)應(yīng)用:Yarp_test
在配置項(xiàng)編輯界面點(diǎn)擊“編輯 JSON”,彈出 JSON 編輯視圖,把原來 appsettings.json 文件里的ReverseProxy節(jié)點(diǎn)的內(nèi)容復(fù)制進(jìn)去。點(diǎn)擊“保存”>“發(fā)布” 。

集成 AgileConfig.Client

AgileConfig 配置成功后,我們需要在 YARP 網(wǎng)關(guān)項(xiàng)目上集成 AgileConfig.Client ,通過它來讀取配置中心的配置。
使用 nuget 安裝 AgileConfig.Client :

Install-Package?AgileConfig.Client?-Version?1.2.1.5

在 appsettings.json 里添加 AgileConfig 節(jié)點(diǎn),里面配置相關(guān)應(yīng)用的信息,并且刪掉原來的ReverseProxy節(jié)點(diǎn),因?yàn)橐呀?jīng)不需要了。

{"Logging":?{"LogLevel":?{"Default":?"Information","Microsoft.AspNetCore":?"Warning"}},"AllowedHosts":?"*","AgileConfig":?{"appId":?"yarp_test","secret":?"","nodes":?"http://localhost:5000/"} }

修改 program.cs 文件為如下內(nèi)容:

var?builder?=?WebApplication.CreateBuilder(args);//add?agileconfig?configuration?provider builder.Host.ConfigureAppConfiguration((_,?bd)?=>?{bd.AddAgileConfig(); });builder.Services.AddReverseProxy().LoadFromConfig(builder.Configuration);var?app?=?builder.Build(); app.MapReverseProxy(); app.Run();

修改完之后,我們運(yùn)行一下 YARP 網(wǎng)關(guān)項(xiàng)目,如果訪問localhost:5085能夠顯示百度的頁面那么說明配置中心的配置已經(jīng)被正確的讀取到了。

熱更新

如果上面的步驟都成功了,那么我們可以來嘗試下配置的熱更新。打開 Agileconfig 的服務(wù)端,繼續(xù)編輯以上配置,我們把集群的地址改成 www.qq.com ,改成騰訊的網(wǎng)管。點(diǎn)擊“保存”>“發(fā)布”。
不用重啟 YARP 網(wǎng)關(guān)項(xiàng)目,我們直接刷新 localhost:5085 那個(gè)頁面,可以看到現(xiàn)在顯示的已經(jīng)是騰訊的網(wǎng)頁了。

演示項(xiàng)目地址:https://github.com/kklldog/YarpDemo

總結(jié)

以上是生活随笔為你收集整理的YARP+AgileConfig 5分钟实现一个支持配置热更新的代理网关的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 污片免费网站 | 快播在线视频 | 黄色网络在线观看 | 色噜噜狠狠成人中文 | 免费一级黄色片 | 无人在线观看高清视频 | www.youjizz.com视频 | 在线播放精品视频 | 欧美高清不卡 | 欧美做爰爽爽爽爽爽爽 | www国产 | 国内精品在线播放 | 日本免费一区二区在线 | 国产日韩在线播放 | 久久久久国产精 | 做a爰小视频 | 辟里啪啦国语版免费观看 | 亚洲av永久无码精品国产精品 | 97视频久久| 亚洲黄色免费看 | 超碰三级| 美日韩免费视频 | 美女隐私无遮挡免费 | 国产精品原创 | 国产免费看 | 海角社区id:1220.7126,10. | wwwxxxx在线观看 | 日韩一区二区在线观看 | 国产成人精品国内自产拍免费看 | 精品久久久久久久久久久国产字幕 | 欧美福利视频一区二区 | 日韩色婷婷| 久久精品爱 | 黄色国产一级 | 狠狠做深爱婷婷综合一区 | 国产精品理论片在线观看 | 狠狠操网站 | 未满十八18禁止免费无码网站 | 中文 日韩 欧美 | 超碰福利在线观看 | 色欲久久久天天天综合网精品 | 国产日韩欧美一二三区 | 黄色美女毛片 | 69视频在线观看免费 | 国产网站视频 | 国产精品一区二区久久国产 | 爱情岛论语亚洲入口 | 九一国产在线观看 | 好吊操免费视频 | 97人妻精品一区二区三区动漫 | 黄色三级三级三级三级 | 夜夜爽妓女8888视频免费观看 | 中文字幕在线免费看线人 | 亚洲第一视频网站 | 毛片毛片毛片毛片毛片毛片 | 女人扒开屁股让男人桶 | 欧美精品久| 干爹你真棒插曲免费 | 久草资源在线播放 | 精品一区二区三区视频 | 欧美a图 | av色吧| 手机天堂网| 久久久精品免费 | 动漫av一区 | 国产国拍精品亚洲 | 国产精品乱码一区二区 | 国产极品999 | 天天综合天天色 | 哈利波特3在线观看免费版英文版 | 国产精品777 | 爆操av| 免费在线看黄色 | 国产成人精品一区二区三区四区 | 大陆日韩欧美 | 成人看的毛片 | 99热免费在线观看 | 日韩爆操 | 久久一区二区三区四区五区 | 在线免费观看亚洲 | 国产又粗又猛又爽又黄91精品 | 午夜性色福利视频 | 日韩激情一区二区三区 | 91精品国产91综合久久蜜臀 | 国产一道本 | 国产在线精品观看 | 亚洲影院av| 麻豆网站在线免费观看 | 美女被到爽高潮视频 | 少妇高潮一区二区三区99刮毛 | 亚洲a视频在线 | 美女网站免费黄 | 国产熟妇乱xxxxx大屁股网 | www.好了av.com| 亚洲每日更新 | 精品蜜桃一区二区三区 | 欧美亚洲日本一区 | zzji欧美大片 | 亚洲激情自拍 |