【dubbo】基于dubbo如何做服务治理?服务降级?以及重试?

发布于:2021-12-05 03:35:44

一、问题


? ? ? ?从这个问题开始,就会考察你dubbo在实际使用中的一些问题啦。?


? ? ? ?1、服务治理:这个问题如果问你,就是想看看你有没有服务治理的思想。因为这个是做过复杂微服务的人肯定会遇到的一个问题。


? ? ? ?2、服务降级:这个是涉及到复杂分布式系统中必备的一个话题。因为分布式系统相互来回调用,任何一个系统崩溃了,你不降级,直接就全盘崩溃?那就太坑爹了。


? ? ? ?3、失败重试:分布式系统中网络请求如此频繁,要是因为网络问题不小心失败了一次。是不是要重试?


? ? ? ?4、超时重试:同上,如果不小心,网络满了一点,超时了,那如何重试。


二、服务治理


? ? ? ?服务分的太多了。几百上千个服务。


? ? ? ?1、调用链路自动生成


? ? ? ?一个大型的分布式系统,或者用现在流行的话就微服务架构。分布式系统由大量的服务组成。那么这些服务之间是如何相互调用的?调用链路是啥?说实话,几乎到后面没人搞的清楚了。因为服务是在太多了,可能几百个甚至上千个。


? ? ? ?那就需要基于dubbo的分布式系统中,对各个服务之间的调用自动记录下来。然后自动将各个服务之间的依赖关系和调用链路生成出来,做成一张图,显示出来。大家才可以看到。? ?


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??


? ? ? ?2、服务访问压力以及时长统计


? ? ? ?需要自动统计各个接口和服务之间的调用次数以及访问延迟,而且需要分成两个级别。第一个级别是接口粒度。就是每个服务的每个接口每天被调用多少次。TP50、TP90、TP99。三个档次的请求延时分别是多少;?第二个级别是从源头入口开始,一个完整的请求链路经过几十个服务之后,完成一次请求。每天全链路走多少次。全链路请求延时TP50、TP90、TP99,分别是多少?


? ? ? ?这些东西都搞定了之后,后面才可以来看当前系统的压力在哪里?如何来扩容和优化啊?


三、服务降级


? ? ? ?比如说,服务A调用服务B,结果服务B挂掉了。服务A重试几次调用服务B,还是不行。直接降级,走一个备用的逻辑。给用户返回相应。


? ? ? ? ? ? ? ? ? ? ? ????


? ? ? ?基于mock,在consumer端,模拟一个数据,返回给用户。


三、失败重试和超时重试


? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ??


? ? ? ? ??

相关推荐

最新更新

猜你喜欢