Sentinel哨兵
Sentinel是什么??
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel是面向分布式服务架构的流量控制组件,主要以流量为切入点,从流量控制、
熔断降级、系统自适应保护等多个维度来报障微服务的稳定性。
Sentinel具有以下特征:
丰富的应用场景:Sentinel承接了阿里巴巴近10年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容器的可承受范围)、消息削峰填谷、
集群流量控制、实时熔断下游不可用应用等。
完备的实时监控:Sentinel同时提供实时的监控功能。你可以在
控制台中看到接入应用的单台机器秒杀级数据,甚至500台以下规模的集群汇总的运行情况。
广泛的开源生态:Sentinel提供开箱即用的与其他开原框架/库的整合模块,例如与Spring、Cloud、Dubbo、gRPC的整合。你只需要引入相应的依赖并进行简单的配置即可快速的接入Sentinel。
完善的SPI扩展点:Sentinel提供简单易用、完善的SPI扩展接口。你可以通过实现扩展接口来快速定制逻辑。例如定制规则管理、适配动态数据源等。
Sentinel分为两部分:
核心库(Java客户端)不依赖任何框架/库,能够运行于所有Java运行时环境,同时对Dubbo/Spring Cloud等框架也有较好的支持。
控制台(Dashboard)基于Sring Boot开发,打包后可以直接运行,不需要额外的Tomcat等应用容器,主要负责管理推送规则、监控、集群限流分配管理、机器发现等。
Sentinel与Hystrix的区别:
Hystrix的关注点在于隔离和熔断为主的容容错机制,超时或被熔断的调用将会快速失败,并可以提供fallback(托底机制)。
Sentinel关注点在于:多样化的流量控制、熔断降级、系统的负载保护、实时的监控于控制台。
获取控制台: release 页面,获取最新的jar包。
启动控制台:
java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.0.jar
注意:启动Sentinel控制台需要JDK1.8以上,其中-Dserver.port=8080,用于指定控制台端口号为8080。
从Sentinel1.6.0起,Sentinel控制台引入基本的登录功能,默认用户名和密码都是Sentinel,
评论列表(0条)