学习笔记:RPC框架(中)关键指标|青训营;

77 阅读2分钟

在之前的笔记当中,我们明白了什么是RPC,明白了RPC框架的作用及其分层。现在我们要知道其关键指标,以及一部分在企业当中的实际应用。

关键指标

关键指标表示此框架实现的关键。

稳定性

保障策略

我们不能杀鸡取卵,竭泽而渔,导致服务器出现问题。

熔断

作用:保护调用方,防止被调用的服务出现问题而影响到整个链路。

原理:服务A调用服务B时,服务B调用服务C,若服务C响应超时,则直接导致B一直等待,而此时服务A继续预繁地调用服务B,服务B就可能因为堆积大量的请求而导致服务宕机,由此导致服务雪崩。

简单来说,就像是一条管道上有各个服务作为闸门,信息流(请求)就像是水流,若是阀门没有打开,一味地积蓄,那么迟早会爆开。

限流

作用:保护被调用方,防止大流量把服务压垮。

原理:当调用端发送请求时,服务端在执行业务逻辑之前先执行检查限流逻辑,如果发现访问量过大并且超出了限流条件,则服务端进行峰级处理或者返回调用方限流异常。

简单来说,这是防止flood攻击的手段,即发送大量请求,超出服务器的服务能力,导致服务器宕机。若是超过了限流值,就报错,以此来保护服务器。

超时控制

作用:避免浪费资源在不可用节点上

原理:当下游的服务因为某种原因响应过慢,下游服务主动停掉一些不太重要的业务,释放出服务器资源,避免浪费资源。

这是对资源的节省,防止造成浪费,拖慢进度,也是商业要求的必要。

请求成功率

保证了服务器不崩塌,我们也需要保证请求成功率。

负载均衡

负载均衡是让服务端的每一台服务器使用的运算量大体相同。

重试

重试是当一次请求因为各种原因失败之后再次发出请求,从而让其成功响应。但是需要注意的是,重试相当于增加了水流的量,也会增加服务器压力。

注册中间件

可以使用中间件来增加其稳定性。

易用性

开箱即用

合理的默认参数和丰富的文档必不可少。

设置好脚手架

生成代码工具,脚手架工具。

扩展性

中间件、选项、插件等都有适配,提供丰富的扩展点。

观测性

内置观测服务。

高性能

可以选择多个层面的优化方法。