如何解决Vertx 网络客户端总是在 k8 上调用同一个集群
我们正在使用 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。