0

我们正在使用 Vert.x WebClient (io.vertx.ext.web.client.WebClient)。我们在 k8s 环境上运行 vert.x 进程。

使用客户端的请求者服务总是到达同一个 pod,而我们在 k8s-service 后面有多个 pod。

我以这种方式启动客户端:

private void initAsyncClient() {
        WebClientOptions options = new WebClientOptions();
        options.setConnectTimeout(timeout);
        options.setMaxPoolSize(poolSize);
        webClient = WebClient.create(vertx, options);
    } 

我们以这种方式调用端点:

 webClient.getAbs(absoluteUrl)
                    .send(response -> {
                        if (response.succeeded() && HttpStatus.valueOf(response.result().statusCode()).is2xxSuccessful()) {
                            try {                      
                               log.info(data);
                            } catch (Exception e) {
                                //
                            }
                    
        });

我们不确定我们做错了什么,因为当我们使用 curl 并访问同一个端点(k8s-service)时,我们可以看到请求被转发到两个 pod 实例。

使用 vert.x 版本 3.9.1

4

0 回答 0