我可以在三台不同的机器上安装producer、broker和consumer吗?

jfewjypa  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(348)

我对Kafka很陌生。我有以下体系结构:

1) 2 servers runing application logics and database, can I write kafka producer on these servers wrapped with docker container ?

2) 1 server reserved for kafka broker and zookeeper

3) 1 sever reserved for kafka comsumer

我搞不懂

1) whether I can run kafka producer, broker and consumer on separate machines ? 

2) How can they communicate ? 

3)Then do I have to install kafka tarball everywhere producer/consumer/broker are running ?
slsn1g29

slsn1g291#

是的,您可以在不同的机器上运行生产者、经纪人和消费者。
生产者只与经纪人沟通,消费者只与经纪人沟通。也就是说,经纪人是生产者和消费者之间的中间人(因此得名“经纪人”)。生产者、消费者和代理之间的通信通常通过kafkajava或scalaapi进行。但是,也有其他语言的本机客户端,如c/c++(librdkafka)以及http/restapi(合流kafka rest,请参阅文档)。
Kafka焦油球必须安装在经纪人身上。您是否还需要生产者和/或消费者的kafka tarball,取决于您是否使用所包含的生产者/消费者应用程序,如kafka的console consumer。根据我的经验,大多数用户使用kafka的java/scalaapi编写自己的生产者和/或消费者应用程序,然后将他们的定制应用程序部署到所需的机器上。在后一种情况下,您不需要在这些机器(即运行生产者/消费者应用程序的机器)上也安装kafka tarball。

相关问题