概述
Rhino是一个服务保护平台, 提供故障模拟、降级演练、服务熔断、服务限流等功能。
服务保护平台
Rhino是由技术工程部基础架构团队研发并维护的一个服务保护平台, 提供故障模拟、降级演练、服务熔断、服务限流及sop预案等功能。
Rhino 一词来自于犀牛的英文,用它坚硬的独角捍卫着领土,如同 Rhino 组件保障着自己所在服务的稳定性
Rhino 设计
1.1管理端
1、展示当前rhino组件的接入数据、进度和版本号
2、实时更新配置信息
3、其它功能
1.2客户端
1、rhino在客户端的设计上采用了代理模式,服务启动时,由spring自动生成添加了@Rhino注解的类的代理对象,通过该代理对象执行rhino的内部逻辑,并最终执行业务方的方法,期间rhino可以做很多事情,诸如故障模拟、熔断降级、服务限流等。
2、考虑到框架组件的接入,提供了API的方式。
1.2.1故障模拟
目前的故障模拟提供了进程级别的故障模拟,如服务的延迟和异常。
1.2.2熔断降级
1、记录接口每次调用的的总次数,成功次数,失败次数,后台线程统计当前时间前10秒(可配置)的接口健康状态:失败率,每秒统计一次
2、熔断降级设计
3、熔断触发策略:统计窗口的请求总数达到阈值 requestVolumeThreshold 并且失败率达到阈值 errorThresholdPercentage
4、灰度恢复策略:每秒释放1%的流量,比如开始灰度恢复,第一秒 1%流量走正常逻辑,第二秒 2%的流量走正常逻辑...当统计窗口中降级流量只有30%时,关闭熔断器
2.降级方案
业务通过引入sdk的方式使用rhino的相关功能,sdk初始化时依赖于配置中心的数据,不会与rhino服务端直接交互。
如果rhino服务端发生故障,并不影响业务方的服务,唯一的影响是业务方法无法通过rhino平台进行参数配置。
降级方案是可以在我们的指导下直接修改配置中心对应的参数,平时不建议使用。
最后
以上就是甜美钥匙为你收集整理的服务保障组件Rhino 简介的全部内容,希望文章能够帮你解决服务保障组件Rhino 简介所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复