Dubbo3高级特性「框架与服务」框架与服务的异步调用实践以及开发模式

Posted 浩宇の天尚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dubbo3高级特性「框架与服务」框架与服务的异步调用实践以及开发模式相关的知识,希望对你有一定的参考价值。

异步调用

在Dubbo中发起异步调用机制,从而提高对应的服务的调用的吞吐能力和调用机制

特性说明

技术背景

从2.7.0开始,Dubbo 的所有异步编程接口开始以CompletableFuture为基础,基于NIO的非阻塞实现并行调用,客户端不需要启动多线程即可完成并行调用多个远程服务,相对多线程开销较小。

使用场景

使用CompletableFuture修饰的接口

  1. 首先需要服务提供者事先定义CompletableFuture签名的服务,接口定义指南如下:

  2. Provider端异步执行将阻塞的业务从Dubbo内部线程池切换到业务自定义线程,避免Dubbo线程池的过度占用,有助于避免不同服务间的互相影响,异步执行无异于节省资源或提升RPC响应性能,因为如果业务执行需要阻塞,则始终还是要有线程来负责执行。

  3. Provider端异步执行和Consumer端异步调用是相互独立的,任意正交组合两端配置

    • Consumer同步 - Provider同步
    • Consumer异步 - Provider同步
    • Consumer同步 - Provider异步

以上是关于Dubbo3高级特性「框架与服务」框架与服务的异步调用实践以及开发模式的主要内容,如果未能解决你的问题,请参考以下文章

Dubbo3高级特性「框架与服务」Dubbo3客户端和服务端的泛化调用机制体系

Dubbo3高级特性「框架与服务」自定义Dubbo服务容器及扩展容器实现分析

Dubbo3高级特性「框架与服务」在dubbo3中进行参数校验及自定义验证扩展机制

Dubbo3高级特性「框架与服务」服务并发控制及集群负载均衡的实践指南(含扩展SPI)

Dubbo3高级特性「框架与服务」 针对出现异常的RPC的服务功能降级机制

Dubbo3高级特性「框架与服务」RPC全链路调用追踪参数传递(OpenTracing)