当前位置: 首页 > 知识库问答 >
问题:

Kafka客户线程,任务,分区?

邵繁
2023-03-14

我有一个有3台机器的Kafka集群。和一个有6个分区(每台机器2个分区)的主题。当我启动一个有6个使用者线程并且属于一个组的使用者应用程序时。我知道一个使用者线程将被分配一个分区。我想知道的是:使用者线程的任务将在分区所在的机器上运行?或者将运行在应用程序被SRARD的机器上?

共有1个答案

姜卜霸
2023-03-14

您所讨论的模型听起来类似于Apache Spark的模型,在Apache Spark中,处理数据的工作人员在工作节点上运行,由开发人员/用户机器上的驱动程序应用程序协调。Kafka不是这样工作的。Kafka代理独立于Kafka应用程序,消费者在应用程序中运行以从主题/分区获取消息。启动使用者应用程序的地方,也就是应用程序运行的机器;它不在代理节点上运行。具有相关消费者的应用程序将连接到“远程”代理节点以获取消息。同样,您可以在代理节点上运行Kafka应用程序,就像另一个JVM进程一样,但它不是上面描述的模型(正如我所说的,它更像Apache Spark)

 类似资料:
  • 问题内容: 我正在尝试使用我一直在努力的客户端/服务器程序实现多线程。我需要允许多个客户端同时连接到服务器。我目前有4类:客户端,服务器,协议和用于处理线程的工作器。以下代码是我对这些类的拥有的代码: SocketServer类: SocketClient类别: 协议类别: ClientWorker类: 当我运行服务器和客户端时,一切正常。然后,当我尝试运行另一个客户端时,它只是挂在那儿,没有提示

  • 我正在使用java客户端连接到hazelcast集群。每次我连接到集群时,我都会观察到在成员的jvm上创建了大约5个客户机线程。这些线程在被销毁之前会停留大约30-40秒。这些线是什么?如何控制创建的客户端线程数? 我正在使用hazelcast all。3.3.3

  • 我在做一个客户端/服务器应用程序。目前它的功能很好,但我需要添加一个“选项”。 server类如下所示: 因此许多客户端都能够连接到服务器。我的观点是:我希望一个连接的客户机(比如说,Client1)能够向他选择的另一个连接的客户机(Client2)发送一些东西。 我的问题是:Client1如何找到/拥有/检索Client2的套接字,因为所有的Client1都通过这个clientSocket在不同

  • 当我执行命令查看连接器的任务列表时,我会得到以下结果 我不知道是什么。谢谢

  • 多任务是一个操作系统可以同时执行多个程序的能力。基本上,操作系统使用一个硬件时钟为同时执行的每个程序配置「时间片段」。如果时间片段够小,并且机器也没有由于太多的程序而超出负荷时,那么在使用者看来,所有的这些程序似乎在同时执行着。 多任务并不是什么新的东西。在大型计算机上,多任务是必然的。这些大型主机通常有几十甚至几百个终端机和它连结,而每个终端机使用者都应该感觉到他或者她独占了整个计算机。另外,大

  • 我使用的是Kafka流,具有无状态的简单处理器拓扑结构。 我有一个主题,有100个分区,有2台机器,每台机器有50个线程,运行同一个流媒体应用程序,因此最终我将在它们之间进行1-1映射。 主题中的消息已是键控消息。 我有一个逻辑约束,一旦线程连接到一个或多个分区,它应该继续处理这些分区(当然,直到重新启动发生,它会重新洗牌) 我从日志中看到线程反复(重新)加入消费者组。 我的问题,kafka 流