sentinel,java
<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>
java sentinel是什麼?讓我們一起來了解一下吧!
java sentinel是java程序中面向分佈式服務架構的流量控制程序部分,它的作用是從流量切入,在熱點保護、流量限制、系統負載保護等多個方面去保護微服務的穩定性。
Sentinel有下面幾個特點:
1.多樣的應用場景:比如秒殺(即突發流量控制在系統容量可以承受的範圍)、消息削峯填谷、實時熔斷下游不可用應用等。
2.具備實時監控: Sentinel 同時提供實時的監控功能。
3.完善的 SPI 擴展點: Sentinel 提供簡單易用、完善的 SPI 擴展點。
4.廣泛的開源生態: Sentinel 提供開箱即用的與其它開源框架/庫的整合模塊,例如與 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相應的依賴並進行簡單的配置即可快速地接入 Sentinel。
sentinel使用具體步驟如下:
1. 引入依賴
com.alibaba.csp sentinel-core ${sentinel.versioin}
2. 設定種類,目前可運用流量控制規則、熔斷降級規則、系統保護規則等。
/** * 設置流控規則 */ @PostConstruct public static void initFlowRules() { List flowRules = new ArrayList<>(); FlowRule flowRule = new FlowRule(); // 設置受保護的資源 flowRule.setResource(RESOURCE_NAME); // 設置流控規則 QPS flowRule.setGrade(RuleConstant.FLOW_GRADE_QPS); // 設置受保護的資源閾值 // Set limit QPS to 20. flowRule.setCount(1); flowRules.add(flowRule); // 加載配置好的規則 FlowRuleManager.loadRules(flowRules); }