javascript
Spring Cloud Alibaba —— Sentinel 入门
導(dǎo)航
- 一、什么是Sentinel
- 1.1 Sentinel 的優(yōu)點
- 二、整合 Sentinel 演示
- 三、Sentinel控制臺與微服務(wù)通信的原理
- 四、Sentinel 流控演示
一、什么是Sentinel
Sentinel 是阿里開源的用于提供微服務(wù)架構(gòu)容錯方案的組件。它以流量作為切入點,從流量控制、熔斷降級、系統(tǒng)負(fù)載保護(hù) 這三個主要緯度保證整體服務(wù)的穩(wěn)定性。Sentinel 可分為兩部分:核心庫(Java 客戶端) 和 控制臺(dashboard)。核心庫不依賴任何框架或類庫,運行于所有Java運行時上??刂婆_基于 Spring Boot 開發(fā),打包后可直接運行。
1.1 Sentinel 的優(yōu)點
二、整合 Sentinel 演示
Sentinel 分為兩部分,整合 Sentinel 需要在上游微服務(wù)中添加相應(yīng)依賴,例如 order 服務(wù)調(diào)用 product,就需要在 order 微服務(wù)中加入 sentinel starter。
shop-order 微服務(wù)
https://github.com/alibaba/Sentinel/wiki/Dashboard
下載后使用如下命令,執(zhí)行jar包:
啟動成功后,打開瀏覽器,訪問 localhost:8080 登錄名密碼都是 sentinel,就可以進(jìn)入sentinel dashboard:
這一步需要在 配置文件中加入 如下配置:
加好配置后,啟動微服務(wù) : shop-order ,由于sentinel 是懶加載的,必須調(diào)用一次接口之后才能顯示在控制臺。
三、Sentinel控制臺與微服務(wù)通信的原理
Sentinel 控制臺實際上就是一個 Spring boot 項目。我們需要將應(yīng)用微服務(wù)注冊到控制臺上,即在微服務(wù)中指定控制臺的地址,并且還要開啟一個跟控制臺傳遞數(shù)據(jù)的端口??刂婆_也可以通過此端口調(diào)用微服務(wù)中的監(jiān)控程序獲取微服務(wù)的各種信息。
四、Sentinel 流控演示
簡單演示一下 Sentinel 的流控效果。
要求:實現(xiàn)對接口 /order/message1 的流控,限制每秒訪問請求最多2個,超出的請求被攔截掉。
打開控制臺“流控規(guī)則” 設(shè)置卡,添加流控規(guī)則:
新增后,嘗試請求接口:
頻繁刷新后,就會偶爾出現(xiàn)請求被流控調(diào)的返回信息,證明 sentinel 流控成功。
總結(jié)
以上是生活随笔為你收集整理的Spring Cloud Alibaba —— Sentinel 入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 新建 api 案列_Java利
- 下一篇: Spring Cloud Alibaba