sentinel 部署 - 轻量级的流量控制、熔断降级 使用维护 安装部署 docker rancher API


https://hub.docker.com/r/veadan/sentinel

https://github.com/alibaba/Sentinel/releases

轻量级的流量控制、熔断降级 Java 库


应用: api -> 添加服务: sentinel

veadan/sentinel:latest

添加卷:

/etc/localtime:/etc/localtime:ro

/data/file:/data/file

端口:(http)8769-8769


默认用户名和密码都是 sentinel


DockerFile:

FROM livingobjects/jre8
VOLUME /tmp
ADD sentinel-dashboard-1.6.3.jar app.jar
ENV LANG en_US.utf8
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Dserver.port=8769","-Dauth.enabled=false","-Dcsp.sentinel.dashboard.server=localhost:8769","-Dproject.name=sentinel-dashboard","-jar","/app.jar"]


# 自定义用户名和密码
# 修改application.properties文件, 修改auth.username、auth.password两项配置设置就可以实现自定义账户和密码。
# 用于指定控制台的登录密码为 123456;如果省略这两个参数,默认用户和密码均为 sentinel;
-Dsentinel.dashboard.auth.username=sentinel
-Dsentinel.dashboard.auth.password=123456

java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -Dsentinel.dashboard.auth.username=sentinel  -Dsentinel.dashboard.auth.password=123456 -jar sentinel-dashboard-1.6.3.jar


启动方式:

docker run -ti -d --restart=always  -p 8769:8769  --name xp-sentinel   veadan/sentinel


随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。


Sentinel 的核心思想:根据对应资源配置的规则来为资源执行相应的流控/降级/系统保护策略。在 Sentinel 中资源定义和规则配置是分离的。用户先通过 Sentinel API 给对应的业务逻辑定义资源,然后可以在需要的时候动态配置规则。

Sentinel 的优势和特性:

轻量级,核心库无多余依赖,性能损耗小。

方便接入,开源生态广泛。Sentinel 对 Dubbo、Spring Cloud、Web Servlet、gRPC 等常用框架提供适配模块,只需引入相应依赖并简单配置即可快速接入;同时针对自定义的场景 Sentinel 还提供低侵入性的注解资源定义方式,方便自定义接入。

丰富的流量控制场景。Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,流控维度包括流控指标、流控效果(塑形)、调用关系、热点、集群等各种维度,针对系统维度也提供自适应的保护机制。

易用的控制台,提供实时监控、机器发现、规则管理等能力。

完善的扩展性设计,提供多样化的 SPI 接口,方便用户根据需求给 Sentinel 添加自定义的逻辑。


Sentinel译为“哨兵”,顾名思义,面对您后台的大量服务/微服务,前置一个哨兵,但面对大量请求时,让后台服务有序被调用,但某些服务的不可用时,采用服务熔断降级等措施,让系统仍能平稳运行,不至于造成系统雪崩,典型应用场景:

MQ中消息在某些时间段(比如行情交易的高峰期,秒杀期等)消息并发量非常大时,通过Sentinel起到“削峰填谷”的作用;

某个业务服务非常复杂,需要调用大量微服务,其中某服务不可用时,不影响整体业务运行,如提交某个订单,需要调用诸如验证库存,验证优惠金额,支付,验证手机号等,其中验证手机号服务不可用时,采用降级的方式让其通过,不影响整个提交订单的业务;

上述订单业务提交时,依赖的下游应用控制线程数,请求上下文超过阈值时,新的请求立即拒绝,即针对流控,可基于QPS或线程数在某些业务场景下,都会有用,如下就是一个qps瞬时拉大时,通过流量缓慢增加,避免系统被压垮的情况;



https://blog.csdn.net/qq_26932225/article/details/94743399

https://www.jianshu.com/p/f1f052413d1c


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回