1、服务治理
(1)调用链路自动生成
(2)服务访问压力以及时长统计
1)每个服务的每个接口每天被调用多少次,TP50,TP90,TP99,三个档次的请求延时分别是多少;
2)一个完整的请求链路经过几十个服务之后,完成一次请求,每天全链路走多少次。
(3)服务分层(避免循环依赖)。
(4)调用链路失败监控和报警。
(5)服务鉴权,我这个服务,只能部分服务可以访问。
(6)每个服务的可用性的监控(接口调用成功率?几个9?)99.99%,99.9%,99%。
2、服务降级
(1)第1种方式
<dubbo:reference id="fooService" interface="com.test.service.FooService" timeout="10000" check="false" mock="return null">
用mock,如果调用失败统一返回null。
(2)将mock修改为true,然后在跟接口同一个路径下实现一个Mock类,命名规则是接口名称加Mock后缀。然后在Mock类里实现自己的降级逻辑。
public class HelloServiceMock implements HelloService {
public void sayHello() {
// 降级逻辑
}
}
3、失败重试和超时重试
设置timeout和retries。