English 中文(简体)
Kafka服务器的性能是否错了,因此听众和广告的听众也一样?
原标题:Is it wrong for Kafka server properties to be set such that the listeners and advertised listeners are the same?

在解释我的问题之前,我必须坦白I absolutly不理解 代码>>> <>listeners/code>andadvertised.listenersin the config。 从我读到的,就这里和,通常引用的博客网站,似乎也一样。 我确实非常难以阅读文件并理解这两个参数,但我现在还没有理解这些参数。

我不理解每个参数的预定使用情况是什么,或两者之间的区别是什么,只是一些模糊的答案,即一种用于私人网络,另一种用于公共网络地址。

For context, I am currently running a Kafka cluster inside an internal, private network. The cluster is composed of 3 machines. I have also used Kafka in other contexts, such as a single instance running in a Docker container for testing purposes, and a cloud based solution. Again, in these instances it was never fully clear to me what the intended use case for either configuration parameter was, and with the cloud based Kafka offering, I never saw the configuration files.

因此,我的问题是:

页: 1 档案:

process.roles=broker,controller

listeners=PLAINTEXT://192.168.0.1:9092,CONTROLLER://192.168.0.1:9093

inter.broker.listener.name=PLAINTEXT

advertised.listeners=PLAINTEXT://192.168.0.1:9092

controller.listener.names=CONTROLLER

listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT, ... etc ...

If I recall correctly, PLAINTEXT and CONTROLLER are just arbitrary strings, and they only have a "syntactic meaning" as part of the listener.security.protocol.map, where the VALUE part of the KEY:VALUE pairs has meaning. (The KEY part being just an arbitrary name like CONTROLLER.)

任何方面——因此,这一Kafka案在两个港口聆听了90929093。 除此以外,由于我可以与使用Conduktor的9093连接起来,这样做是完全正确的。 因此,我猜测“控制器”港口是其他一些用途,而你则认为,不应使用消费者、生产商或像Conduktor这样的应用来连接港口。 (可能)

采用<条码> 名单编号和<条码> 广告编号:listeners似乎意义不大。 载有一名有相同名称的听众(>PLAINTEXT(这是一个任意的拼写名称),其次地址和港口相同。

因此,在座的是什么? 我的组合是否不赞同? 这两种参数之间有何区别——因为我试图理解这两个参数,我就没有。

问题回答

一名卡夫卡客户将连接该组的一个节点,该节点将与客户可以连接的组群中每个节点的名称/名称/名称对应。 这些名称载于每个服务器的<代码>被转录的:listeners入口,不一定需要与服务器的当地IP/门户相同。

advertised.listeners 未确定,对<代码>listeners设定的任何数值不作规定。 因此,将它们置于同样价值,只是多余,这并非错。

请允许我说,你的卡夫卡集团坐在一个私人网络中,IP地址是:192.168.0.1、192.168.0.2和192.168.0.3,他们都在9092港聆听。 这个私人网络站在一个名为“我的kafka.public”的公共IPAT后面。

你们希望公共网络的用户能够进入你的集群。 国家港口管理局将分别绘制11、2222和33至10.0.0.1:9092、10.0.0.2:9092和10.0.0.3:9092号港口地图。

经纪人将包括以下组合:

经纪人:

listeners=PLAINTEXT://192.168.0.1:9092
advertised.listeners=PLAINTEXT://mykafka.public.cloud:1111

经纪人:

listeners=PLAINTEXT://192.168.0.2:9092
advertised.listeners=PLAINTEXT://mykafka.public.cloud:2222

broker 3:

listeners=PLAINTEXT://192.168.0.3:9092
advertised.listeners=PLAINTEXT://mykafka.public.cloud:3333

或者,每个经纪人都有多个IP地址,例如,经纪人1、2和3分别有10.0.0.1、10.0.0.2和10.0.0.3,你们希望用户能够联系到10.0.0.x地址,并使用192.168.0x地址进行经纪人之间的通信。 然后,你会利用以下会议:

经纪人:

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://10.0.0.1:9092

经纪人:

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://10.0.0.1:9092

broker 3:

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://10.0.0.1:9092

在此,您可使用<代码>listeners 约束至0.0.0,并使用advertised.listen <>/code>,使客户有特定的IP链接。





相关问题
Kafka stream for processing event which takes long time

I have a Spring Boot Kafka Stream application that reads the records do some HTTP calls and transform the record into another form. This transform record is then sent to the producer. final KStream<...