内外网:nginx转发生产者请求到kafka问题

啃蘋果的壞蛋 发表于: 2018-12-28   最后更新时间: 2021-09-16 19:54:24   11,606 游览

1、 我们的网络环境是大数据集群在内网,其中有两个主机挂了双网卡,网卡中一个对外,一个对内,用来做负载均衡服务,计划采用nginx来部署

2、 nginx配置文件

stream {
    server {
        listen 8092;
        proxy_pass kafka;
        server_name  localhost;

    }

    upstream kafka {
        server 172.16.140.120:9092 weight=1;
        server 172.16.140.121:9092 weight=1;
        server 172.16.140.122:9092 weight=1;
    }

}

3、经过上述部署后,从厂站侧可以telnet通80和81的8092端口,从nginx侧也可以telnet通内网kafka的9092,但是数据在流经nginx后就丢了,抓包表现如下:

请问有哪位大神遇到过这种问题?怀疑是反向代理没设置好

发表于 2018-12-28
  • 解决了,https://www.orchome.com/1957,按照这个兄弟的设置,nginx 一个端口对应 kafka 一台机器方三 2年前 回复
添加评论

把kakfa集群通讯地址全部换成域名,客户端用host进行映射。
参考:kafka外网转发

这里采用的是kafka producer代码直连模式,想把直连换成nginx,nginx后端使用kafka集群, 基于这个能行吗?

简单一点,kafka客户端配置一个kafka地址,会自动发现获取全部的kafka节点,其他kafka节点的地址和你nginx指向的是不匹配的。

大神,能加个QQ聊吗,或者加个群,这个问题比较尴尬

弄好了吗 我也是这个问题

càiwùfēi -> 半兽人 5年前

配置多个server,每个server代理一个节点么?有例子或者是博客介绍这块配置操作么?

有解决方案吗? 测试没通过

你的答案

查看kafka相关的其他问题或提一个您自己的问题