摘要:提供一个轻量级的开源控制台,它提供机器发现以及健康情况管理监控单机和集群,规则管理和推送的功能。比如我们之前是直接在代码中初始限流的值,接入控制台后可以直接通过控制台进行限流参数的动态配置,非常方便。
Sentinel 提供一个轻量级的开源控制台,它提供机器发现以及健康情况管理、监控(单机和集群),规则管理和推送的功能。
比如我们之前是直接在代码中初始限流的值,接入控制台后可以直接通过控制台进行限流参数的动态配置,非常方便。
Sentinel 控制台最少应该包含如下功能:
查看机器列表以及健康情况:收集 Sentinel 客户端发送的心跳包,用于判断机器是否在线。
监控 (单机和集群聚合):通过 Sentinel 客户端暴露的监控 API,定期拉取并且聚合应用监控信息,最终可以实现秒级的实时监控。
规则管理和推送:统一管理推送规则。
鉴权:生产环境中鉴权非常重要。这里每个开发者需要根据自己的实际情况进行定制。
部署控制台需要先下载控制台的jar包,可以直接从 https://github.com/alibaba/Se... 页面进行下载,也可以自己下载源码进行编译(https://github.com/alibaba/Se...),推荐直接下载编译好的。
下载之后使用下面的命令启动即可:
java -Dserver.port=8333 -Dcsp.sentinel.dashboard.server=localhost:8333 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.4.2.jar
-Dserver.port
指定控制台的端口
-Dcsp.sentinel.dashboard.server
指定控制台的地址,相当于自己注册自己,这样启动后就能看到自身的信息
-Dproject.name
指定接入的应用名称
启动后访问 http://localhost:8333 即可跳转到控制台的主页,如下图:
这个控制台里面的操作我们就不进行讲解了,大家自己去尝试下就会了,比如说我们要看实时监控的数据,那么就点击第一个实时监控的菜单,可以看到下面的效果:
可以看到每个URI的QPS啊,拒绝的QPS等信息。
客户端接入控制台上面其实是把控制台自己接入进来了,如果要接入我们实际工作中的项目,该怎么接入?
客户端需要引入 Transport 模块来与 Sentinel 控制台进行通信。您可以通过 pom.xml 引入 JAR 包:
com.alibaba.csp sentinel-transport-simple-http 1.4.1
同样的增加JVM启动参数指定控制台的地址:
-Dcsp.sentinel.dashboard.server=localhost:8333
注:若您的应用为 Spring Boot 或 Spring Cloud 应用,您可以使用 Spring Cloud Alibaba,通过 Spring 配置文件来指定配置,详情请参考 Spring Cloud Alibaba Sentinel 文档 以及 示例。
这个我们后面再进行讲解,目前就直接用JVM参数设置。
Sentinel 会在客户端首次调用的时候进行初始化,开始向控制台发送心跳包。然后就可以在控制台上看到我们自己接入的应用了。
可以看到多了一个应用,因为我们没有指定应用名,就是默认的启动类的全称。
接入之后就可以查看这个应用的一些信息了,还可以动态的修改限流的规则:
当然这些规则目前只是存储在内存中,应用重启之后就丢失了,后面我们再学习如何持久化这些数据。
欢迎加入我的知识星球,一起交流技术,免费学习猿天地的课程(http://cxytiandi.com/course) PS:目前星球中正在星主的带领下组队学习Sentinel,等你哦!文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/73842.html
摘要:介绍随着微服务的流行,服务和服务之间的稳定性变得越来越重要。以流量为切入点,从流量控制熔断降级系统负载保护等多个维度保护服务的稳定性。完备的实时监控同时提供实时的监控功能。您只需要引入相应的依赖并进行简单的配置即可快速地接入。 Sentinel 介绍 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。 Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度...
摘要:有没有那么一个框架能够把熔断跟限流都给做了,以前没有,但是现在有了,我这属于自问自答哈这个框架就是阿里最新开源的。后来我才发现我错了,大错特错,这是一个新的框架,潜力实力阿里开源。 前言 在 Spring Cloud 体系中,熔断降级我们会使用 Hystrix 框架,限流通常会在 Zuul 中进行处理,Zuul 中没有自带限流的功能,我们可以自己做限流或者集成第三方开源的限流框架。最新...
摘要:现状分布式场景中。因此要对在原服务不可用时进行熔断降级处理。分析熔断降级可以服务端限流网关限流客户端限流。它提供两种资源隔离的模式信号量隔离和线程池隔离。支持流控熔断降级系统保护等。它支持并发数的流量控制也支持熔断降级。 现状 分布式场景中。若服务不稳定,会导致调用方服务也不可用,从而造成雪崩效应。因此要对在原服务不可用时进行熔断降级处理。 分析 熔断降级可以服务端限流、网关限流、客户...
摘要:单线程执行命令。文件描述符事件。内部原因不合理使用或数据结构可能由此导致慢查询等饱和是单线程,只会使用单个持久化阻塞操作产生阻塞,对硬盘的操作产生阻塞或写操作阻塞等。内存达到时执行内存溢出控制策略。 最近在看《Redis开发与运维》,把自己学会的知识点记录下来,毕竟好记性不如烂笔头。 一.Redis是什么。 Redis是一个Key-Value的NoSQL数据库. 二.Redis的特点。...
阅读 1506·2021-11-25 09:43
阅读 4056·2021-11-15 11:37
阅读 3190·2021-08-17 10:13
阅读 3503·2019-08-30 14:16
阅读 3533·2019-08-26 18:37
阅读 2487·2019-08-26 11:56
阅读 1128·2019-08-26 10:42
阅读 607·2019-08-26 10:39