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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

网关Ocelot功能演示完结,久等了~~~

發布時間:2023/12/4 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网关Ocelot功能演示完结,久等了~~~ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

關于網關(Ocelot)的分享,還遺留一些功能沒演示呢,接著來聊聊;這次重點針對網關Ocelot使用緩存、集成Polly做服務治理、集成IdentityServer4做認證授權來詳細說說;如果對上一篇感興趣,點這里(網關Ocelot功能演示安排的明明白白~~~)。

正文

1. 使用緩存

Ocelot中的緩存是對下游請求結果進行緩存處理,多次請求下游API時,在有效期內就可以從緩存中獲取,提升服務性能。

以下演示代碼還是接著上一次代碼舉例的,代碼地址為:https://github.com/zyq025/IDS4Demo/tree/main/OcelotDemo/OcelotCodeDemo

1.1 使用默認內存緩存

其實只要增加下面紅框部分的配置,就可以使用緩存了,如下:

配置說明:

  • TtlSeconds:配置有效期的時間,單位為秒;

  • Region:區域名,即分區緩存數據;Oeclot可以提供緩存管理接口,然后指定區域清除緩存;其實就是在Ocelot那里增加相關接口管理緩存;

配置文件準備好了,在ServiceAPI1中新增一個測試接口,如下:

運行網關和ServiceAPI1項目,然后根據配置的路由規則訪問新增的接口:

到這有小伙伴會好奇,什么緩存操作都沒做,就一個簡單的配置就行了?是的,Ocelot默認是有內存緩存實現的,老版本的InMemoryCache是通過Dictionary來實現的,就是鍵值對存儲;新版本的是AspMemoryCache是通過IMemoryCache來實現的;所以只要配置開啟就可以用啦,只不過功能比較單一,但可以集成其他擴展緩存,當然也可以自定義。

1.2 集成CacheManager做緩存

CacheManager除了緩存管理外,還封裝了很多功能,如事件、性能計數器、并發更新等,讓開發人員更容易處理和配置緩存。這里主要演示如何集成到Ocelot使用,就不詳細展開說明啦,詳解請查閱官網:https://cachemanager.michaco.net/documentation。

Ocelot中集成CacheManager非常簡單,簡單小三步:

  • 引入Ocelot.Cache.CacheManager包;

  • 注冊對應的服務;

  • 添加配置文件,其實就是配置FileCacheOptions,上一小節已經使用啦;

    這樣就完成集成了,運行網關和服務接口,然后訪問,同樣是每隔十秒才能重新獲取值;?基于內存的使用是不是很簡單,分布式訪問咋辦?可不可以用Redis或者其他方式存儲,答案當然是肯定的,往下看看↓↓↓

1.3 集成CacheManager配合Redis做分布式緩存

首先得安裝好Redis環境,這塊我就不展開啦,如果小伙伴對Redis系列感興趣,也有專門的文章進行分享,進入Redis系列。

  • 引入對應包,增加Redis相關配置即可,如下:

    image-20210425170300577
  • 運行網關和服務接口,訪問,同樣也是每隔10秒才能獲取新值,不過這次不一樣的是數據在Redis中存儲啦,結果如下:

    image-20210425151920536
1.4 自定義緩存

自定義緩存通過繼承接口IOcelotCache,然后注冊到容器即可,So easy!!!

  • 自定義一個緩存類,繼承IOcelotCache接口;

    image-20210426143820535
  • 將緩存類注冊到容器中;

    image-20210426143935784
  • 運行看結果,還是用之前上面配置文件的FileCacheOptions信息:

    image-20210426145331418

如果沒有特別定制化的需求,用現成造好的輪子也是很不錯的。

2. 集成Polly做服務治理

在WebAPI中,接口超時、訪問異常、并發量大等這種問題已經是家常便飯了,故障處理和彈性預防肯定少不了,上一節專門分享了一下Polly,這里就可以很絲滑般的集成進來啦,關于Polly的分享,請進入Polly-故障處理和彈性應對很有一手查看詳情。

Ocelot集成Polly超級給力,引入包,注冊服務,剩下的功能通過配置文件配置就輕松實現~~~

  • 引入包,注冊服務

    image-20210426151206131
  • 超時熔斷配置實現

    為了方便測試,在ServiceAPI1中增加一個TimeoutTest的接口,如下:

    image-20210426153031768

    然后配置超時熔斷,然后運行,通過網關訪問接口:

    image-20210426152940899

    通過上面演示,如果超時,不讓請求一直處于等待,及時反饋信息;Ocelot默認超時時間為90s。同時上面還配置了熔斷機制,如果出現3次異常,就會熔斷3秒。

  • 限流配置實現,這里就用ServiceAPI1中CacheTest接口做演示

    image-20210426163155144

    當達到最大請求時,可以自定義返回消息和狀態碼,只需要全局配置中增加如下配置即可:

    image-20210426162735269

    運行效果如下:

    image-20210426160312818

3. 集成IdentityServer4做認證授權

認證授權在API項目中是不可缺少的,而對于微服務項目,每一個服務都做一次驗證,顯得冗余,而且后期代碼維護性也不好,所以找一個公共的入口統一做認證是很不錯的解決方案,而在網關上集成認證授權功能完全符合條件。

關于IdentityServer4的相關知識,之前做過幾篇文章的分享,小伙伴可以進入IdentityServer4系列詳細查看,這里不展開講,重點還是演示Ocelot如何集成IdentityServer4;步驟如下:

  • 準備一個IdentitiServer4的項目

    為了不喧賓奪主,這里就直接用之前IdentityServer4 之Client Credentials走起來這篇文章中的AuthorizationServerDemo項目代碼,github源碼路徑是:https://github.com/zyq025/IDS4Demo。直接拷過來即可。

  • Ocelot項目中增加認證邏輯

    image-20210427161101292
  • 修改配置文件

    image-20210427161308610

    配置認證信息可以針對路由進行配置,其中AuthenticationProviderKey對應的值與網關項目中注冊服務定義的authenticationProviderKey值一致。如果配置了認證信息,就會經過授權服務器進行認證校驗,否則不進行驗證。

  • 運行結果如下:

    image-20210427161925028

    通過上圖,對應的API被保護起來啦!那試試獲取一個Token,帶上Token訪問需認證的API地址,看看能否問;為了演示方便,這里要用到Postman工具啦,如下:

    image-20210427162235681

    上面已經獲取到Token,如果小伙伴有疑惑,可以去看看之前IDS4的文章。將得到的Token放在請求頭中去訪問需認證的API地址,如下:

    image-20210427162705433

    最后可以正常訪問接口啦,統一在網關做共同的邏輯,避免各服務的功能實現冗余,在后期維護和替換也很方便。

源碼地址:https://github.com/zyq025/IDS4Demo,統一放在這里面了。

總結

到這Ocelot的常用功能已經演示完畢了,這些示例只是提供思路,具體應用還需要小伙伴花點心思結合需求進行落地。

下一步的安排繼續聊聊服務之間的調用分布式最終一致性等開發應用,還會集成一些中間件進行日志監控和分析及鏈路追蹤,對于部署還會系列的分享Nignx、Docker、K8s

一個被程序搞丑的帥小伙,關注"Code綜藝圈",跟我一起學~~~

圖片

總結

以上是生活随笔為你收集整理的网关Ocelot功能演示完结,久等了~~~的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国模叶桐尿喷337p人体 | 成人免费网站黄 | 天天干在线观看 | 日韩中文视频 | 性高潮久久久久久久久久 | 欧美在线激情视频 | 久久精品无码毛片 | 国产毛片毛片毛片毛片毛片毛片 | 人妻精品一区一区三区蜜桃91 | 国产区亚洲区 | 国产视频1| 720url在线观看免费版 | www.操com | 国产精品一区二区三区四区在线观看 | 极品av在线 | www.色亚洲| 国内精品久久久 | 日本黄色网络 | 99视频久久 | 国产日韩一区二区 | 亚洲欧美日韩免费 | 黄色在线观看免费 | 99精品一区二区三区 | 欧美黑人猛交 | 九色网站在线观看 | 欧美成人精品一区二区免费看片 | 欧美成人久久久免费播放 | www.色网| 国产高清一区 | 色黄视频网站 | 蜜臀av在线免费观看 | 四虎永久在线精品免费一区二区 | 亚洲精品www久久久 一级aaa毛片 | 色综合av在线 | 欧美精品色婷婷五月综合 | 思思久久精品 | 久久婷婷成人综合色 | 国产伦理吴梦梦伦理 | 中国女人裸体乱淫 | 最近中文字幕免费视频 | 蜜臀久久99精品久久久无需会员 | 小早川怜子久久精品中文字幕 | 我爱52av | 日韩一级影视 | 国产黄色免费视频 | av黄色在线看 | 处破痛哭a√18成年片免费 | 熟女人妻一区二区三区免费看 | 一区二区三区精品在线 | 福利视频免费 | 国产人与zoxxxx另类 | 麻豆视频在线观看免费网站 | 婷婷伊人综合中文字幕 | 九色视频91 | 成人欧美一区二区三区黑人免费 | 国产一区亚洲 | 桥本有菜aⅴ一区二区三区 在线午夜电影 | 国产精品无码免费在线观看 | 精品久久久久久久久久岛国gif | 欧美黑人精品一区二区不卡 | 日韩va亚洲va欧美va久久 | 精品在线不卡 | 国产1区在线观看 | 免费激情视频网站 | 国产在线一区二区三区四区 | 成人午夜毛片 | 国产在线不卡视频 | 秋霞一级全黄大片 | 色综合天天综合综合国产 | 久久久香蕉网 | 国产91视频在线观看 | 国产欧美三级 | 国产在线123 | 日本一道在线 | 久久久久久国产视频 | 不卡av片| 日本一区二区免费在线观看 | av网站在线免费看 | 亚洲无套 | 精品少妇爆乳无码av无码专区 | 91久久综合 | 国产久一 | 天天天色综合 | 三级视频小说 | 伊人免费视频二 | 久草视频在线免费播放 | 日本黄色录像 | 日韩69| 亚洲色图首页 | www日韩精品| 国产成人愉拍精品久久 | 黄色一级视频 | 中文字幕一区二区三区波野结 | 国产美女自拍视频 | 亚洲成人一区二区 | 污漫在线观看 | 黑丝一区 | 一级做a爱片 | 亚洲女同av |