Nginx与zookeeper和kafka

mrwjdhj3  于 2023-06-20  发布在  Apache
关注(0)|答案(1)|浏览(196)

如何让Kafka和zookeeper与nginx一起工作?我以前试过设置nginx,但是在找到如何在nginx中配置Kafka和zookeeper方面严重缺乏结果。
我已经尝试过在Kafka和zookeeper中使用以下配置。但是,我不确定这是否允许连接到Kafka和zookeeper。由于Kafka和zookeeper是用于后端的,因此它被设置为443。请告诉我是否走对了方向。

Upstream website {
      10.0.5.15:8755;
}
Upstream zoo {
      10.0.5.20:2181;
}
Upstream kafka {
      10.0.5.20:9092;
}

server {
    listen 80;
    server_name same.sg;
    location / {
        proxy_hide_header       Server;
        proxy_hide_header       X-Powered-By;
        proxy_hide_header       X-AspNet-Version;
        proxy_hide_header       Access-Control-Allow-Origin;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://website;
    }
}

server {
    listen 443 ssl;
    server_name same.sg;
    ssl_certificate /cert.crt;
    ssl_certificate_key /server.key;

    location /kafka {
       internal;
       proxy_pass https://kafka;
    }

    location /zoo {
       internal;
       proxy_pass https://zoo;
    }
}
snz8szmq

snz8szmq1#

Zookeeper和Kafka使用TCP,而不是HTTP/S,因此不会在这样的代理背后工作。
Nginx有一个stream指令用于TCP连接,但是Kafka客户端在引导后必须直接连接到各个代理,因此引入负载均衡器或代理成为引导协议的单点故障。
外部Kafka客户端永远不需要连接到Zookeeper,而且最新的Kafka版本完全删除了Zookeeper

相关问题