摘要:提供一個(gè)輕量級(jí)的開源控制臺(tái),它提供機(jī)器發(fā)現(xiàn)以及健康情況管理監(jiān)控單機(jī)和集群,規(guī)則管理和推送的功能。比如我們之前是直接在代碼中初始限流的值,接入控制臺(tái)后可以直接通過控制臺(tái)進(jìn)行限流參數(shù)的動(dòng)態(tài)配置,非常方便。
Sentinel 提供一個(gè)輕量級(jí)的開源控制臺(tái),它提供機(jī)器發(fā)現(xiàn)以及健康情況管理、監(jiān)控(單機(jī)和集群),規(guī)則管理和推送的功能。
比如我們之前是直接在代碼中初始限流的值,接入控制臺(tái)后可以直接通過控制臺(tái)進(jìn)行限流參數(shù)的動(dòng)態(tài)配置,非常方便。
Sentinel 控制臺(tái)最少應(yīng)該包含如下功能:
查看機(jī)器列表以及健康情況:收集 Sentinel 客戶端發(fā)送的心跳包,用于判斷機(jī)器是否在線。
監(jiān)控 (單機(jī)和集群聚合):通過 Sentinel 客戶端暴露的監(jiān)控 API,定期拉取并且聚合應(yīng)用監(jiān)控信息,最終可以實(shí)現(xiàn)秒級(jí)的實(shí)時(shí)監(jiān)控。
規(guī)則管理和推送:統(tǒng)一管理推送規(guī)則。
鑒權(quán):生產(chǎn)環(huán)境中鑒權(quán)非常重要。這里每個(gè)開發(fā)者需要根據(jù)自己的實(shí)際情況進(jìn)行定制。
部署控制臺(tái)需要先下載控制臺(tái)的jar包,可以直接從 https://github.com/alibaba/Se... 頁面進(jìn)行下載,也可以自己下載源碼進(jìn)行編譯(https://github.com/alibaba/Se...),推薦直接下載編譯好的。
下載之后使用下面的命令啟動(dòng)即可:
java -Dserver.port=8333 -Dcsp.sentinel.dashboard.server=localhost:8333 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.4.2.jar
-Dserver.port
指定控制臺(tái)的端口
-Dcsp.sentinel.dashboard.server
指定控制臺(tái)的地址,相當(dāng)于自己注冊(cè)自己,這樣啟動(dòng)后就能看到自身的信息
-Dproject.name
指定接入的應(yīng)用名稱
啟動(dòng)后訪問 http://localhost:8333 即可跳轉(zhuǎn)到控制臺(tái)的主頁,如下圖:
這個(gè)控制臺(tái)里面的操作我們就不進(jìn)行講解了,大家自己去嘗試下就會(huì)了,比如說我們要看實(shí)時(shí)監(jiān)控的數(shù)據(jù),那么就點(diǎn)擊第一個(gè)實(shí)時(shí)監(jiān)控的菜單,可以看到下面的效果:
可以看到每個(gè)URI的QPS啊,拒絕的QPS等信息。
客戶端接入控制臺(tái)上面其實(shí)是把控制臺(tái)自己接入進(jìn)來了,如果要接入我們實(shí)際工作中的項(xiàng)目,該怎么接入?
客戶端需要引入 Transport 模塊來與 Sentinel 控制臺(tái)進(jìn)行通信。您可以通過 pom.xml 引入 JAR 包:
com.alibaba.csp sentinel-transport-simple-http 1.4.1
同樣的增加JVM啟動(dòng)參數(shù)指定控制臺(tái)的地址:
-Dcsp.sentinel.dashboard.server=localhost:8333
注:若您的應(yīng)用為 Spring Boot 或 Spring Cloud 應(yīng)用,您可以使用?Spring Cloud Alibaba,通過 Spring 配置文件來指定配置,詳情請(qǐng)參考?Spring Cloud Alibaba Sentinel 文檔?以及?示例。
這個(gè)我們后面再進(jìn)行講解,目前就直接用JVM參數(shù)設(shè)置。
Sentinel 會(huì)在客戶端首次調(diào)用的時(shí)候進(jìn)行初始化,開始向控制臺(tái)發(fā)送心跳包。然后就可以在控制臺(tái)上看到我們自己接入的應(yīng)用了。
可以看到多了一個(gè)應(yīng)用,因?yàn)槲覀儧]有指定應(yīng)用名,就是默認(rèn)的啟動(dòng)類的全稱。
接入之后就可以查看這個(gè)應(yīng)用的一些信息了,還可以動(dòng)態(tài)的修改限流的規(guī)則:
當(dāng)然這些規(guī)則目前只是存儲(chǔ)在內(nèi)存中,應(yīng)用重啟之后就丟失了,后面我們?cè)賹W(xué)習(xí)如何持久化這些數(shù)據(jù)。
歡迎加入我的知識(shí)星球,一起交流技術(shù),免費(fèi)學(xué)習(xí)猿天地的課程(http://cxytiandi.com/course) PS:目前星球中正在星主的帶領(lǐng)下組隊(duì)學(xué)習(xí)Sentinel,等你哦!文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/73842.html
摘要:介紹隨著微服務(wù)的流行,服務(wù)和服務(wù)之間的穩(wěn)定性變得越來越重要。以流量為切入點(diǎn),從流量控制熔斷降級(jí)系統(tǒng)負(fù)載保護(hù)等多個(gè)維度保護(hù)服務(wù)的穩(wěn)定性。完備的實(shí)時(shí)監(jiān)控同時(shí)提供實(shí)時(shí)的監(jiān)控功能。您只需要引入相應(yīng)的依賴并進(jìn)行簡(jiǎn)單的配置即可快速地接入。 Sentinel 介紹 隨著微服務(wù)的流行,服務(wù)和服務(wù)之間的穩(wěn)定性變得越來越重要。 Sentinel 以流量為切入點(diǎn),從流量控制、熔斷降級(jí)、系統(tǒng)負(fù)載保護(hù)等多個(gè)維度...
摘要:有沒有那么一個(gè)框架能夠把熔斷跟限流都給做了,以前沒有,但是現(xiàn)在有了,我這屬于自問自答哈這個(gè)框架就是阿里最新開源的。后來我才發(fā)現(xiàn)我錯(cuò)了,大錯(cuò)特錯(cuò),這是一個(gè)新的框架,潛力實(shí)力阿里開源。 前言 在 Spring Cloud 體系中,熔斷降級(jí)我們會(huì)使用 Hystrix 框架,限流通常會(huì)在 Zuul 中進(jìn)行處理,Zuul 中沒有自帶限流的功能,我們可以自己做限流或者集成第三方開源的限流框架。最新...
摘要:現(xiàn)狀分布式場(chǎng)景中。因此要對(duì)在原服務(wù)不可用時(shí)進(jìn)行熔斷降級(jí)處理。分析熔斷降級(jí)可以服務(wù)端限流網(wǎng)關(guān)限流客戶端限流。它提供兩種資源隔離的模式信號(hào)量隔離和線程池隔離。支持流控熔斷降級(jí)系統(tǒng)保護(hù)等。它支持并發(fā)數(shù)的流量控制也支持熔斷降級(jí)。 現(xiàn)狀 分布式場(chǎng)景中。若服務(wù)不穩(wěn)定,會(huì)導(dǎo)致調(diào)用方服務(wù)也不可用,從而造成雪崩效應(yīng)。因此要對(duì)在原服務(wù)不可用時(shí)進(jìn)行熔斷降級(jí)處理。 分析 熔斷降級(jí)可以服務(wù)端限流、網(wǎng)關(guān)限流、客戶...
摘要:?jiǎn)尉€程執(zhí)行命令。文件描述符事件。內(nèi)部原因不合理使用或數(shù)據(jù)結(jié)構(gòu)可能由此導(dǎo)致慢查詢等飽和是單線程,只會(huì)使用單個(gè)持久化阻塞操作產(chǎn)生阻塞,對(duì)硬盤的操作產(chǎn)生阻塞或?qū)懖僮髯枞取?nèi)存達(dá)到時(shí)執(zhí)行內(nèi)存溢出控制策略。 最近在看《Redis開發(fā)與運(yùn)維》,把自己學(xué)會(huì)的知識(shí)點(diǎn)記錄下來,畢竟好記性不如爛筆頭。 一.Redis是什么。 Redis是一個(gè)Key-Value的NoSQL數(shù)據(jù)庫. 二.Redis的特點(diǎn)。...
閱讀 1531·2021-11-25 09:43
閱讀 4079·2021-11-15 11:37
閱讀 3208·2021-08-17 10:13
閱讀 3515·2019-08-30 14:16
閱讀 3546·2019-08-26 18:37
閱讀 2502·2019-08-26 11:56
閱讀 1145·2019-08-26 10:42
閱讀 623·2019-08-26 10:39