我们有一个带有 HTTP2 码头客户端的 Spring Boot 应用程序,我们使用 @LoadBalanced 注释了 springboot 版本 2.3.x 和 spring-cloud-kubernetes-loadbalancer 版本 1.1.6.RELEASE。在发送流量时,正确创建了 HTTP2 持久连接。在扩展服务器时,它会平等地分配连接以及这些连接上的流量。
工作依赖如下:
compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-kubernetes-all', version: "1.1.6.RELEASE"
compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-kubernetes-loadbalancer', version: "1.1.6.RELEASE"
后来将 spring boot 版本升级到 2.4.x 并相应地迁移到 spring-cloud-starter-kubernetes-fabric8-loadbalancer 2.0.3 (因为根据 Release train Spring Boot compatible ,这是与 springboot 2.4.x 兼容的正确版本) ,我们没有看到与横向扩展服务器的 HTTP2 连接数量相等。
不工作的依赖项如下:
compile 'org.springframework.cloud:spring-cloud-starter-kubernetes-fabric8-all'
compile 'org.springframework.cloud:spring-cloud-starter-kubernetes-fabric8-loadbalancer'
这里可能存在什么问题?
编辑:java 版本“15”2020-09-15 Java(TM) SE Runtime Environment (build 15+36-1562) Java HotSpot(TM) 64-Bit Server VM (build 15+36-1562,混合模式,共享)
码头客户端版本是
compile 'org.eclipse.jetty:jetty-reactive-httpclient:1.1.8'
compile 'org.eclipse.jetty:jetty-client:9.4.40.v20210413',
compile 'org.eclipse.jetty.http2:http2-client:9.4.40.v20210413'
compile 'org.eclipse.jetty:jetty-alpn-java-client:9.4.40.v20210413'
这两个对于工作和非工作情况都很常见