dubbo 源码分析视频

3.dubbo服务前后台线程池的隔离目前前台(C端)和后台(B端)dubbo接口使用同一个线程池,开销长度和通用接口也在同一个线程池 。4.Dubbo-executes通过解析设置一个接口和方法使用的业务线程数进行限制源码参见ExecuteLimit Filter,Dubbo-Registry服务注册表在微服务架构中起着重要的作用,服务提供者和消费者可以通过它相互感知 。
1、Dubbo——Registry服务注册【dubbo 源码分析视频】 Registry在微服务架构中起着重要的作用 。有了它,服务提供者和消费者可以互相感知 。注册只是消费者和提供者感知彼此状态变化的一种便捷方式 。它们的实际通信和交互过程对Registry是直接和透明的 。当提供者的状态发生变化时 , 注册中心会主动推送所有订阅了提供者的消费者,保证了消费者感知提供者状态变化的及时性,同时也会与具体的业务需求逻辑解耦 , 从而提高系统的稳定性 。
2、Dubbo之SPI实现原理详解SPI是一个ServiceProviderInterface 。比如现实中,我们经常会有这样的场景,即对于一个规范定义者(可以理解为一个或多个接口),具体的服务实现者是不可知的(可以理解为这些接口的实现类) , 所以在定义这些规范的时候,规范定义者有必要通过一定的方式获取这些服务提供者提供的东西 。
3、4.Dubbo-executes设置解析限制一个接口和方法使用的业务线程数源码参见ExecuteLimitFilter,使用信号量实现引用::文章中提到的问题在2.6.1版本中已经修复 。有一个地方我不明白:为接口设置executes10,但是整个接口只能有10个线程?或者每种方法最多10个 。如果有,假设一个接口有5个方法,那么接口不是最多有50个线程吗?
4、3、 dubbo服务前后台线程池隔离目前前台(C端)和后台(B端)dubbo接口使用同一个线程池,开销长度和通用接口也在同一个线程池 。这有风险,长ex:cost接口和B端接口同时上来(流量或系统bug),会冲击前台的请求稳定性和响应时间 , 降低系统的健壮性 。因此,接口应该是隔离的 , 每个异常都不会影响其他异常,接口隔离的方式:线程池隔离和并发限制(1)添加一个协议指定线程池的信息,添加一个端口,然后将协议添加到服务中 。

    推荐阅读