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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

通过Dapr实现一个简单的基于.net的微服务电商系统(十六)——dapr+sentinel中间件实现服务保护...

發布時間:2023/12/4 windows 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过Dapr实现一个简单的基于.net的微服务电商系统(十六)——dapr+sentinel中间件实现服务保护... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  dapr目前更新到了1.2版本,在之前4月份的時候來自阿里的開發工程師發起了一個dapr集成Alibaba Sentinel的提案,很快被社區加入到了1.2的里程碑中并且在1.2 release 相關升級文檔里可以看到已經實現了對Alibaba Sentinel的支持。今天我們就講講我們如何通過Sentinel實現對我們接口的保護。

目錄:

一、通過Dapr實現一個簡單的基于.net的微服務電商系統

二、通過Dapr實現一個簡單的基于.net的微服務電商系統(二)——通訊框架講解

三、通過Dapr實現一個簡單的基于.net的微服務電商系統(三)——一步一步教你如何擼Dapr

四、通過Dapr實現一個簡單的基于.net的微服務電商系統(四)——一步一步教你如何擼Dapr之訂閱發布

通過Dapr實現一個簡單的基于.net的微服務電商系統(五)——一步一步教你如何擼Dapr之狀態管理

通過Dapr實現一個簡單的基于.net的微服務電商系統(六)——一步一步教你如何擼Dapr之Actor服務

通過Dapr實現一個簡單的基于.net的微服務電商系統(七)——一步一步教你如何擼Dapr之服務限流

通過Dapr實現一個簡單的基于.net的微服務電商系統(八)——一步一步教你如何擼Dapr之鏈路追蹤

通過Dapr實現一個簡單的基于.net的微服務電商系統(九)——一步一步教你如何擼Dapr之OAuth2授權

通過Dapr實現一個簡單的基于.net的微服務電商系統(九)——一步一步教你如何擼Dapr之OAuth2授權-百度版

通過Dapr實現一個簡單的基于.net的微服務電商系統(十)——一步一步教你如何擼Dapr之綁定

通過Dapr實現一個簡單的基于.net的微服務電商系統(十一)——一步一步教你如何擼Dapr之自動擴/縮容

通過Dapr實現一個簡單的基于.net的微服務電商系統(十二)——istio+dapr構建多運行時服務網格

通過Dapr實現一個簡單的基于.net的微服務電商系統(十三)——istio+dapr構建多運行時服務網格之生產環境部署

通過Dapr實現一個簡單的基于.net的微服務電商系統(十四)——開發環境容器調試小技巧

通過Dapr實現一個簡單的基于.net的微服務電商系統(十五)——集中式接口文檔實現

附錄:(如果你覺得對你有用,請給個star)
一、電商Demo地址:https://github.com/sd797994/Oxygen-Dapr.EshopSample

二、通訊框架地址:https://github.com/sd797994/Oxygen-Dapr

  dapr的發展確實很快,在4月份開始這個基于dapr1.0的系列在服務治理這塊dapr還僅僅只能依靠基于middleware.http.ratelimit的對下游進行粗粒度的服務保護,或者基于app-max-concurrency來約束來自上游的并發數。僅僅兩個小版本后dapr就通過component實現了對sentinel的支持,不得不說社區的反應速度還是很快的。那sentinel到底是個什么呢?在sentinel官網開篇的一句話簡介里是這么描述的:“sentinel 是面向分布式服務架構的高可用防護組件,主要以流量為切入點,從流量控制、熔斷降級、系統自適應保護等多個維度來幫助用戶保障微服務的穩定性?!?#xff0c;所以sentinel提供的是分布式應用四大類基本需求中之一——網絡需求這塊的相關部分能力。也就是微服務常見的限流、熔斷降級等服務保護能力,而dapr通過模塊化的component讓開發者可以快速集成sentinel只需要配置不同的規則約束告知dapr sidecar即可獲取相關的下游服務保護能力。sentinel組件本身成熟度也挺高的,在阿里內部廣泛使用了多年,并且對 Dubbo、Spring Cloud、gRPC、Zuul、Reactor、Quarkus 等框架都做了集成,所以目前我們可以放心的使用它。

  今天的案例我們簡單的模擬一下使用sentinel的限流能力來對我們下游服務特定接口提供保護能力,依然使用我們目前這套電商demo來完成,由于sentinel是對下游服務進行保護,所以我們需要將相關的規則寫入到我們的apigateway對應的sidecar中,這樣確保來自于客戶端的請求都會被正確的限制流量,接下來我們來限制一下對accountservice的accountquery/checkrolebasedaccesscontroler這個接口做流量限制,按照1秒10次的方式,component如下:

apiVersion: dapr.io/v1alpha1 kind: Component metadata:name: sentinelnamespace: dapreshop spec:type: middleware.http.sentinelversion: v1metadata:- name: appNamevalue: "accountflowrule"- name: logDirvalue: "/tmp"- name: flowRulesvalue: >-[{"resource": "POST:/v1.0/invoke/accountservice/method/accountquery/checkrolebasedaccesscontroler","threshold": 10,"tokenCalculateStrategy": 0,"controlBehavior": 0}]

  這條規則告訴dapr我們需要啟動sentinel中間件,并且注入一條規則規定對下游資源(resource)的訪問維持在10次/秒(threshold),其中流量控制器的Token計算策略(tokenCalculateStrategy)采用默認也就是以threshold作為閾值,超出的請求部分采用的策略(controlBehavior)是拒絕服務。接著我們創建一個Configuration并注入到我們的apigateway這個deployment中:

apiVersion: dapr.io/v1alpha1 kind: Configuration metadata:name: sentinelconfignamespace: dapreshop spec:httpPipeline:handlers:- name: sentineltype: middleware.http.sentinelapiVersion: apps/v1 kind: Deployment metadata:name: apigatewaynamespace: dapreshop spec:selector:matchLabels:app: apigatewayreplicas: 1template:metadata:labels:app: apigatewayversion: v1annotations:dapr.io/enabled: "true"dapr.io/app-id: "apigateway"dapr.io/app-port: "80"dapr.io/config: "sentinelconfig" .....

  接著我們apply一下將compenent注冊到dapr環境中,并且重啟我們的apigateway。重啟完成后我們查看一下apigateway sidecar的日志可以看到配置已經正確的注入進去了并且已經成功的enabled sentinel:

?

?  接下來我們啟動一個測試程序通過apigateway暴露到內網的地址來訪問這個接口,其最終結果如下:

?

?  可以看到sentinel成功的完成了對接口的保護工作,將我們的接口請求頻率維持在了10次/秒的基礎上。好了,今天的分享就到這里,照例歡迎轉發 fork + star~

相關文章:

  • Dapr能否引領云原生中間件的未來?

  • 云原生 | 阿里巴巴的Dapr實踐與探索

  • Dapr | 云原生的抽象與實現

  • Dapr 可視化指南

  • Dapr 知多少 | 分布式應用運行時

  • Dapr 正式發布 1.0

  • Dapr 交通流量控制示例

  • Dapr是如何簡化微服務的開發和部署

  • 微軟開源微服務運行時Dapr,賦能云原生應用開發

  • YARP實現Dapr服務調用的反向代理

  • Dapr微服務應用開發系列0:概述

  • Dapr微服務應用開發系列1:環境配置

  • Dapr微服務應用開發系列2:Hello World與SDK初接觸

  • Dapr微服務應用開發系列3:服務調用構件塊

  • Dapr微服務應用開發系列4:狀態管理構件塊

  • Dapr微服務應用開發系列5:發布訂閱構建塊

  • Windows環境下Dapr入門

  • 云原生 | .NET 5 with Dapr 初體驗

  • 通過Dapr實現一個簡單的基于.net的微服務電商系統

  • 通過Dapr實現一個簡單的基于.net的微服務電商系統(二)——通訊框架講解

  • 通過Dapr實現一個簡單的基于.net的微服務電商系統(三)——一步一步教你如何擼Dapr

  • 通過Dapr實現一個簡單的基于.net的微服務電商系統(四)——一步一步教你如何擼Dapr之訂閱發布

  • 通過Dapr實現一個簡單的基于.net的微服務電商系統(五)——一步一步教你如何擼Dapr之狀態管理

  • 通過Dapr實現一個簡單的基于.net的微服務電商系統(六)——一步一步教你如何擼Dapr之Actor服務

  • 通過Dapr實現一個簡單的基于.net的微服務電商系統(七)——一步一步教你如何擼Dapr之服務限流

  • 通過Dapr實現一個簡單的基于.net的微服務電商系統(八)——一步一步教你如何擼Dapr之鏈路追蹤

  • 通過Dapr實現一個簡單的基于.net的微服務電商系統(九)——一步一步教你如何擼Dapr之OAuth2授權

  • 通過Dapr實現一個簡單的基于.net的微服務電商系統(九)——一步一步教你如何擼Dapr之OAuth2授權-百度版

  • 通過Dapr實現一個簡單的基于.net的微服務電商系統(十)——一步一步教你如何擼Dapr之綁定

  • 通過Dapr實現一個簡單的基于.net的微服務電商系統(十一)——一步一步教你如何擼Dapr之自動擴/縮容

  • 通過Dapr實現一個簡單的基于.net的微服務電商系統(十二)——istio+dapr構建多運行時服務網格

  • 通過Dapr實現一個簡單的基于.net的微服務電商系統(十三)——istio+dapr構建多運行時服務網格之生產環境部署

  • 通過Dapr實現一個簡單的基于.net的微服務電商系統(十四)——開發環境容器調試小技巧

  • 通過Dapr實現一個簡單的基于.net的微服務電商系統(十五)——集中式接口文檔實現

  • WebAssembly + Dapr = 下一代云原生運行時?

  • dapr 應用開發 | 環境配置

  • 乘風破浪,.Net Core遇見Dapr,為云原生而生的分布式應用運行時

  • Dapr案例之高德 Serverless 平臺建設及實踐

  • 在非容器(集群)環境下運行dapr

  • 構建屬于你自己的dapr服務發現

  • 構建屬于你自己的dapr綁定組件

總結

以上是生活随笔為你收集整理的通过Dapr实现一个简单的基于.net的微服务电商系统(十六)——dapr+sentinel中间件实现服务保护...的全部內容,希望文章能夠幫你解決所遇到的問題。

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