Skip to content

Java-Chassis的consumer端可能混用HTTP/1.1和HTTP/2的连接向provider端发送请求吗? #2277

@yhs0092

Description

@yhs0092

在Java-Chassis关于REST客户端连接池的说明中,有如下描述

连接池在计算是否超过大小的时候,会同时检查这两个配置项。假设访问的服务器为H,那么上述配置,和H建立的最大连接可能性为 HTTP:HTTP2=50:0, HTTP:HTTP2=0:5, HTTP:HTTP2=20:3等。一个客户端和H建立的总的连接数还和servicecomb.rest.client.verticle-count 有关。可以理解为每个vertical会针对H创建一个连接池,连接池个数为vertical-count。

言下之意似乎是Java-Chassis的客户端可能会对某个provider的endpoint混合建立HTTP/1.1和HTTP/2的连接。
但是观察Java-Chassis的源码,无论是master分支的org.apache.servicecomb.transport.rest.client.RestTransportClient#findHttpClientPool还是1.3分支的org.apache.servicecomb.transport.rest.client.RestTransportClient#send,对于HTTP/1.1和HTTP/2都是用两个客户端实例分别处理的。

那么,实际上在Java-Chassis里,可能出现对同一个endpoint,连接数呈HTTP:HTTP2=20:3分布的情况吗?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions