[Dubbo] connections 参数

一、用途

为某个接口创建独立的连接通道,若未配置该参数,则共享一个连接通道。

二、配置方式

消费者:


生产者:



说明:

  1. 只能配置在接口,配置在方法上 无效
  2. 配置优先级:消费者优先于生产者

三、原理

在项目初始化的时候,RegistryDirectory#refreshInvoker 会将 provider 提供的接口刷新为 Invoker 类,如果接口未配置 connections 属性,则使用共享连接,如使用 dubbo 协议的方式 DubboProtocol#getClients
[Dubbo] connections 参数_第1张图片
对于同一服务来源:

  • 如果未配置 connections 属性,则单个消费者调用单个服务提供者之间共享一个连接,供所有接口使用
  • 配置了 connections 属性,则针对该接口,独立创建配置的 n 个连接
    [Dubbo] connections 参数_第2张图片
    Invoker 类如 DubboInvoker ,会持有一个连接数组 ExchangeClient[],每次调用远程接口前,会随机取出一个 ExchangeClient
    [Dubbo] connections 参数_第3张图片

你可能感兴趣的:(Dubbo)