国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

公司網(wǎng)頁(yè)設(shè)計(jì)費(fèi)計(jì)入什么科目網(wǎng)站建設(shè)優(yōu)化公司

公司網(wǎng)頁(yè)設(shè)計(jì)費(fèi)計(jì)入什么科目,網(wǎng)站建設(shè)優(yōu)化公司,wordpress搬家之夢(mèng),做ppt網(wǎng)站大全文章目錄 Spring Cloud Alibaba Sentinel流量防衛(wèi)兵1. 分布式遇到的問題2.解決的方法 Sentinel: 分布式系統(tǒng)的流量防衛(wèi)兵1. 簡(jiǎn)介和特折 Sentinel流量防衛(wèi)兵的搭建1.引入依賴2.添加配置類3.運(yùn)行類上添加SentinelResource,并配置blockHandler和fallback4. linux中放入…

文章目錄

  • Spring Cloud Alibaba Sentinel流量防衛(wèi)兵
    • 1. 分布式遇到的問題
    • 2.解決的方法
  • Sentinel: 分布式系統(tǒng)的流量防衛(wèi)兵
    • 1. 簡(jiǎn)介和特折
  • Sentinel流量防衛(wèi)兵的搭建
    • 1.引入依賴
    • 2.添加配置類
    • 3.運(yùn)行類上添加@SentinelResource,并配置blockHandler和fallback
    • 4. linux中放入Sentinel控制臺(tái)程序jar包,并執(zhí)行
  • 應(yīng)用接入控制臺(tái)(可選下面那種,簡(jiǎn)單)
    • 1.使用整合包(這種)
    • 2.通過nacos持久化
    • 3.設(shè)置規(guī)則 json

Spring Cloud Alibaba Sentinel流量防衛(wèi)兵

1. 分布式遇到的問題

服務(wù)可用性問題
在這里插入圖片描述

服務(wù)可用性場(chǎng)景
在這里插入圖片描述

服務(wù)雪崩效應(yīng)
因服務(wù)提供者的不可用導(dǎo)致服務(wù)調(diào)用者的不可用,并將不可用逐漸放大的過程,就叫服務(wù)雪崩效應(yīng)導(dǎo)致服務(wù)不可用的原因:
在這里插入圖片描述

在服務(wù)提供者不可用的時(shí)候,會(huì)出現(xiàn)大量重試的情況:用戶重試、代碼邏輯重試,這些重試最終導(dǎo)致:進(jìn)一步加大請(qǐng)求流量。所以歸根結(jié)底導(dǎo)致雪崩效應(yīng)的最根本原因是:大量請(qǐng)求線程同步等待造成的資源耗盡。當(dāng)服務(wù)調(diào)用者使用同步調(diào)用時(shí), 會(huì)產(chǎn)生大量的等待線程占用系統(tǒng)資源。一旦線程資源被耗盡,服務(wù)調(diào)用者提供的服務(wù)也將處于不可用狀態(tài), 于是服務(wù)雪崩效應(yīng)產(chǎn)生了。

2.解決的方法

  • 超時(shí)機(jī)制
    在不做任何處理的情況下,服務(wù)提供者不可用會(huì)導(dǎo)致消費(fèi)者請(qǐng)求線程強(qiáng)制等待,而造成系統(tǒng)資源耗盡。加入超時(shí)機(jī)制,一旦超時(shí),就釋放資源。由于釋放資源速度較快,一定程度上可以抑制資源耗盡的問題。

  • 服務(wù)限流
    設(shè)置閾值,操作臨界值不再進(jìn)行向后端請(qǐng)求.

  • 隔離
    每當(dāng)向服務(wù)發(fā)起一個(gè)請(qǐng)求時(shí),就是會(huì)發(fā)起一個(gè)http請(qǐng)求,每一個(gè)http請(qǐng)求就要開啟一個(gè)線程,然后等待服務(wù)返回信息,這容易導(dǎo)致線程的堆積,所以就可以用http的URI作為一個(gè)標(biāo)識(shí),然后相同的URI可以開啟一個(gè)線程池,然后線程池中限定線程數(shù),這樣就可以設(shè)置拒絕策略,當(dāng)線程池滿了,就可以快速的拋出異?;蛘呔芙^請(qǐng)求,用線程池做到線程隔離來(lái)達(dá)到限流。

  • 服務(wù)熔斷

    熔斷就是有一個(gè)閾值,向服務(wù)發(fā)起請(qǐng)求后,如果不成功,就會(huì)記錄次數(shù),然后當(dāng)連續(xù)失敗次數(shù)達(dá)到閾值時(shí),下次請(qǐng)求的時(shí)候就會(huì)直接把這個(gè)服務(wù)停止。請(qǐng)求有三種狀態(tài),可以請(qǐng)求(開),不可請(qǐng)求(關(guān)),還有一個(gè)中間狀態(tài),相當(dāng)于半開狀態(tài),半開狀態(tài)是什么意思呢,就是可以嘗試著去請(qǐng)求,就可以在關(guān)閉狀態(tài)后一段時(shí)間,發(fā)一個(gè)請(qǐng)求嘗試一下是否可以請(qǐng)求成功,如果不成功,繼續(xù)保持關(guān)閉狀態(tài),如果請(qǐng)求成功,則變成開放狀態(tài)。

  • 服務(wù)降級(jí)
    降級(jí)其實(shí)就相當(dāng)于,當(dāng)我們向一個(gè)服務(wù)發(fā)起請(qǐng)求,當(dāng)請(qǐng)求超時(shí)了,就會(huì)把這次請(qǐng)求記錄到服務(wù)中,然后就會(huì)嘗試向其他服務(wù)發(fā)請(qǐng)求,如果還沒成功,就對(duì)這次請(qǐng)求進(jìn)行處理(怎么處理取決于業(yè)務(wù)需求如)就相當(dāng)于try
    catch一樣的邏輯,當(dāng)然Sentinel底層使用aop來(lái)實(shí)現(xiàn)的。

Sentinel: 分布式系統(tǒng)的流量防衛(wèi)兵

點(diǎn)擊進(jìn)入官方文檔

1. 簡(jiǎn)介和特折

  • Sentinel 介紹 隨著微服務(wù)的流行,服務(wù)和服務(wù)之間的穩(wěn)定性變得越來(lái)越重要。Sentinel
    是面向分布式、多語(yǔ)言異構(gòu)化服務(wù)架構(gòu)的流量治理組件,主要以流量為切入點(diǎn),從流量路由、流量控制、流量整形、熔斷降級(jí)、系統(tǒng)自適應(yīng)過載保護(hù)、熱點(diǎn)流量防護(hù)等多個(gè)維度來(lái)幫助開發(fā)者保障微服務(wù)的穩(wěn)定性。
  • Sentinel具有以下特征:
    1. 豐富的應(yīng)用場(chǎng)景: Sentinel 承接了阿里巴巴近 10 年的雙十一大促流量的核心場(chǎng)景,例如秒殺(即突發(fā)流量控制在系統(tǒng)容量可以承受的范圍)、消息削峰填谷、實(shí)時(shí)熔斷下游不可用應(yīng)用等。
    2. 完備的實(shí)時(shí)監(jiān)控: Sentinel 同時(shí)提供實(shí)時(shí)的監(jiān)控功能。您可以在控制臺(tái)中看到接入應(yīng)用的單臺(tái)機(jī)器秒級(jí)數(shù)據(jù),甚至 500 臺(tái)以下規(guī)模的集群的匯總運(yùn)行情況。
    3. 廣泛的開源生態(tài): Sentinel 提供開箱即用的與其它開源框架/庫(kù)的整合模塊,例如與 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相應(yīng)的依賴并進(jìn)行簡(jiǎn)單的配置即可快速地接入 Sentinel。
    4. 完善的 SPI
      擴(kuò)展點(diǎn): Sentinel 提供簡(jiǎn)單易用、完善的 SPI 擴(kuò)展點(diǎn)。您可以通過實(shí)現(xiàn)擴(kuò)展點(diǎn),快速的定制邏輯。例如定制規(guī)則管理、適配數(shù)據(jù)源等

Sentinel流量防衛(wèi)兵的搭建

1.引入依賴

在這里插入圖片描述

<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-core</artifactId><version>1.8.0</version>
</dependency>
<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-annotation-aspectj</artifactId><version>1.8.0</version>
</dependency>

2.添加配置類

這里的配置類也就是aop增強(qiáng)的時(shí)候所用的切點(diǎn),但是這里用的時(shí)@Bean注入而不是 注解

@Configuration
public class SentinelConfig {@Beanpublic SentinelResourceAspect sentinelResourceAspect() {return new SentinelResourceAspect();}
}

3.運(yùn)行類上添加@SentinelResource,并配置blockHandler和fallback

在這里插入圖片描述

@RestController
public class UserController {@GetMapping("/user/{id}")@SentinelResource(value = "findOrderByUserId",fallback = "fallback", fallbackClass = UserController.class,blockHandler = "handleException", blockHandlerClass = UserController.class)public String findOrderByUserId(@PathVariable("id") Integer id) {if (id == 4) {throw new IllegalArgumentException("非法參數(shù)異常");}return "正常返回";}public static String fallback(Integer id, Throwable e) {return "===被異常降級(jí)啦===";}public static String handleException(Integer id, BlockException e) {return "===被限流啦===";}/*** 定義流控規(guī)則*/@PostConstructprivate static void initFlowRules() {List<FlowRule> rules = new ArrayList<>();FlowRule rule = new FlowRule();//設(shè)置受保護(hù)的資源rule.setResource("findOrderByUserId");// 設(shè)置流控規(guī)則 QPSrule.setGrade(RuleConstant.FLOW_GRADE_QPS);// 設(shè)置受保護(hù)的資源閾值// Set limit QPS to 20.rule.setCount(1);rules.add(rule);// 加載配置好的規(guī)則FlowRuleManager.loadRules(rules);}
}

4. linux中放入Sentinel控制臺(tái)程序jar包,并執(zhí)行

不讓上傳自己去外網(wǎng)下把這是網(wǎng)址
1.8.0版本

linux啟動(dòng)代碼

java -Dserver.port=8858 -Dsentinel.dashboard.auth.username=sentinel
-Dsentinel.dashboard.auth.password=123456 -jar sentinel-dashboard-1.8.0.jar

應(yīng)用接入控制臺(tái)(可選下面那種,簡(jiǎn)單)

控制臺(tái)加入jar包

<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-transport-simple-http</artifactId><version>1.8.0</version>
</dependency>

寫入?yún)?shù)
在這里插入圖片描述
控制臺(tái)
訪問地址 虛擬機(jī)IP/設(shè)置的端口號(hào) (8858)賬號(hào)剛剛設(shè)置sentinel,密碼123456
不出現(xiàn)這個(gè)也會(huì)正常,看一下機(jī)器列表有沒有你就行啦,畢竟開源要什么自行車
在這里插入圖片描述

1.使用整合包(這種)

一個(gè)依賴即可
可去掉上方加入的三個(gè)jar包,嫌麻煩不去除也可

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

配置文件

# 添加sentinel的控制臺(tái)地址
spring.cloud.sentinel.transport.dashboard=127.0.0.1:8858# 可以理解為應(yīng)用端的端口號(hào) 服務(wù)端是上面配置的8858
# 指定應(yīng)用與Sentinel控制臺(tái)交互的端口,應(yīng)用本地會(huì)起一個(gè)該端口占用的HttpServer, 可以省略
spring.cloud.sentinel.transport.port=8719

直接運(yùn)行即可

2.通過nacos持久化

引入依賴

        <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency><dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-datasource-nacos</artifactId></dependency>

新建一個(gè)bootstrp.properties文件
在這里插入圖片描述

spring.cloud.nacos.config.server-addr=192.168.14.58:8848
#spring.application.name=sentinel-app
spring.cloud.sentinel.transport.dashboard=192.168.14.58:8858
spring.cloud.sentinel.datasource.flow.nacos.serverAddr=192.168.14.58:8848
spring.cloud.sentinel.datasource.flow.nacos.dataId=${spring.application.name}-flow-rules
spring.cloud.sentinel.datasource.flow.nacos.groupId=DEFAULT_GROUP
spring.cloud.sentinel.datasource.flow.nacos.data-type=json
spring.cloud.sentinel.datasource.flow.nacos.rule-type=flow
spring.cloud.sentinel.datasource.degrade.nacos.serverAddr=192.168.14.58:8848
spring.cloud.sentinel.datasource.degrade.nacos.dataId=${spring.application.name}-degrade-rules
spring.cloud.sentinel.datasource.degrade.nacos.groupId=DEFAULT_GROUP
spring.cloud.sentinel.datasource.degrade.nacos.data-type=json
spring.cloud.sentinel.datasource.degrade.nacos.rule-type=degrade

在nacos中創(chuàng)建 就是前面建立的點(diǎn)擊跳轉(zhuǎn)
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

3.設(shè)置規(guī)則 json

流量控制

[{// 資源名"resource": "/test",// 針對(duì)來(lái)源,若為 default 則不區(qū)分調(diào)用來(lái)源"limitApp": "default",// 限流閾值類型(1:QPS;0:并發(fā)線程數(shù))"grade": 1,// 閾值"count": 1,// 是否是集群模式"clusterMode": false,// 流控效果(0:快速失敗;1:Warm Up(預(yù)熱模式);2:排隊(duì)等待)"controlBehavior": 0,// 流控模式(0:直接;1:關(guān)聯(lián);2:鏈路)"strategy": 0,// 預(yù)熱時(shí)間(秒,預(yù)熱模式需要此參數(shù))"warmUpPeriodSec": 10,// 超時(shí)時(shí)間(排隊(duì)等待模式需要此參數(shù))"maxQueueingTimeMs": 500,// 關(guān)聯(lián)資源、入口資源(關(guān)聯(lián)、鏈路模式)"refResource": "rrr"}
]

降級(jí)規(guī)則

[{// 資源名"resource": "/test1","limitApp": "default",// 熔斷策略(0:慢調(diào)用比例,1:異常比率,2:異常計(jì)數(shù))"grade": 0,// 最大RT、比例閾值、異常數(shù)"count": 200,// 慢調(diào)用比例閾值,僅慢調(diào)用比例模式有效(1.8.0 引入)"slowRatioThreshold": 0.2,// 最小請(qǐng)求數(shù)"minRequestAmount": 5,// 當(dāng)單位統(tǒng)計(jì)時(shí)長(zhǎng)(類中默認(rèn)1000)"statIntervalMs": 1000,// 熔斷時(shí)長(zhǎng)"timeWindow": 10}
]

熱點(diǎn)規(guī)則

[{// 資源名"resource": "/test1",// 限流模式(QPS 模式,不可更改)"grade": 1,// 參數(shù)索引"paramIdx": 0,// 單機(jī)閾值"count": 13,// 統(tǒng)計(jì)窗口時(shí)長(zhǎng)"durationInSec": 6,// 是否集群 默認(rèn)false"clusterMode": 默認(rèn)false,// "burstCount": 0,// 集群模式配置"clusterConfig": {// "fallbackToLocalWhenFail": true,// "flowId": 2,// "sampleCount": 10,// "thresholdType": 0,// "windowIntervalMs": 1000},// 流控效果(支持快速失敗和勻速排隊(duì)模式)"controlBehavior": 0,// "limitApp": "default",// "maxQueueingTimeMs": 0,// 高級(jí)選項(xiàng)"paramFlowItemList": [{// 參數(shù)類型"classType": "int",// 限流閾值"count": 222,// 參數(shù)值"object": "2"}]}
]

系統(tǒng)規(guī)則

[{// RT"avgRt": 1,// CPU 使用率"highestCpuUsage": -1,// LOAD"highestSystemLoad": -1,// 線程數(shù)"maxThread": -1,// 入口 QPS"qps": -1}
]

授權(quán)規(guī)則

[{// 資源名"resource": "sentinel_spring_web_context",// 流控應(yīng)用"limitApp": "/test",// 授權(quán)類型(0代表白名單;1代表黑名單。)"strategy": 0}
]
http://aloenet.com.cn/news/39830.html

相關(guān)文章:

  • phpcms套好的網(wǎng)站 放到空間上 后臺(tái)打開的驗(yàn)證碼不能顯示關(guān)鍵詞排名優(yōu)化怎么樣
  • flask做網(wǎng)站惡意點(diǎn)擊軟件哪個(gè)好
  • 廣州高端品牌網(wǎng)站建設(shè)百度秒收錄軟件工具
  • 這么做簡(jiǎn)單的網(wǎng)站三臺(tái)網(wǎng)站seo
  • 義縣城鄉(xiāng)建設(shè)局網(wǎng)站佛山百度seo點(diǎn)擊軟件
  • wordpress 2萬(wàn)條就卡鄭州seo公司哪家好
  • 網(wǎng)站后端開發(fā)需要學(xué)什么互聯(lián)網(wǎng)營(yíng)銷師考證多少錢
  • 做調(diào)查問卷?yè)Q賞金的網(wǎng)站百度推廣客服電話
  • 做ps圖標(biāo)什么網(wǎng)站最好什么關(guān)鍵詞可以搜到那種
  • 黨建網(wǎng)站建設(shè)方案自媒體運(yùn)營(yíng)主要做什么
  • 黑鏡wordpress主題優(yōu)化防疫措施+科學(xué)精準(zhǔn)防控
  • 幫媽媽做家務(wù)作文網(wǎng)站百度極速版免費(fèi)下載安裝
  • 類似網(wǎng)站的建設(shè)無(wú)錫百度正規(guī)推廣
  • 網(wǎng)站設(shè)計(jì)培訓(xùn)班詢站長(zhǎng)工具推薦網(wǎng)站
  • 門戶網(wǎng)站是內(nèi)網(wǎng)還是外網(wǎng)2345網(wǎng)址導(dǎo)航桌面版
  • 網(wǎng)站開發(fā)用php還是java好seo排名
  • 負(fù)責(zé)網(wǎng)站開發(fā)的崗位建立網(wǎng)站怎么搞
  • 鶴壁做網(wǎng)站的公司360搜索引擎地址
  • 順義做網(wǎng)站公司百度指數(shù)的網(wǎng)址
  • 哪家公司做網(wǎng)站好新區(qū)seo整站優(yōu)化公司
  • 如何拿qq空間做網(wǎng)站推廣搜索怎么選關(guān)鍵詞
  • wordpress創(chuàng)建單頁(yè)seo優(yōu)化方法有哪些
  • 哈爾濱網(wǎng)站建設(shè)推廣公司網(wǎng)站備案信息查詢
  • 廣州做網(wǎng)站比較有名的公司網(wǎng)站seo檢測(cè)工具
  • wordpress 網(wǎng)頁(yè)排版錯(cuò)誤寧波seo鏈接優(yōu)化
  • wordpress排行榜模板seo排名點(diǎn)擊軟件推薦
  • 哪些網(wǎng)站可以用來(lái)做百科參考西安關(guān)鍵詞優(yōu)化軟件
  • 醫(yī)院網(wǎng)站建設(shè)目的萬(wàn)網(wǎng)域名查詢接口
  • 長(zhǎng)沙網(wǎng)站建設(shè)開發(fā)seo百度網(wǎng)站排名軟件
  • 西安網(wǎng)站建設(shè)陜icp投廣告哪個(gè)平臺(tái)好