概述
1.服务容错的背景
1)系统依赖的某个服务发生延迟或者故障,数秒内导致所有应用资源(线程,队列等)被耗尽,造成所谓的雪崩效应 (Cascading Failure),导致整个系统拒绝对外提供服务。
2)系统遭受恶意爬虫袭击,在放大效应下没有对下游依赖服务做好限速处理,最终导致下游服务崩溃。
2.服务容错的解决方案
1)超时
通过超时来释放资源,这样就不容易被拖死,只要释放够快。
2)限流
通过评估来限制流量,防止微服务被拖死。
3)仓壁模式
资源有对立线程池,拥有自己拒绝策略。资源之间不相互影响。
4)断路器模式
监控错误率或者错误次数达到一定阈值,就跳闸,就认为依赖微服务不可用,监控加开关
3.sentinel的基本使用
Sentinel 分为两个部分:
核心库(Java 客户端)不依赖任何框架/库,能够运行于所有 Java 运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。
控制台(Dashboard)基于 Spring Boot 开发,打包后可以直接运行,不需要额外的 Tomcat 等应用容器。
如何使用?
首先下载jar包
然后在cmd中通过jar -jar sentinel…启动项目
输入localhost:8080访问项目,用户名和密码都是sentinel
在要使用Sentinel的微服务中添加下面的pom依赖即可
在yml文件中配置好sentinel的地址。sentinel下面为什么有一个port?原因是sentinel监控时会启动一个http server与dashboard进行通信
注意:微服务启动后sentinel并没有什么变化,原因是要想使用sentinel监控微服务,此微服务必须至少访问过一次。
最后
以上就是威武电话为你收集整理的微服务服务容错与sentinel的全部内容,希望文章能够帮你解决微服务服务容错与sentinel所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复