簡體   English   中英

Kafka生產者,消費者,經紀人在同一主機上?

[英]Kafka Producer, Consumer, Broker in same host?

為集群中的所有節點運行相同的生產者和使用者代碼是否有任何弊端? 如果集群中有8個節點(8個消費者,8個kafka代理和8個生產者),那么集群中是否有8個生產者同時運行? 有沒有一種方法可以修改群集,以便一次只運行一個生產者?

卡夫卡集群不過是在分布式共識下運行的卡夫卡經紀人。 Kafka集群不了解圍繞它運行的生產者和消費者的數量。 生產者和消費者是Kafka集群的客戶。 生產者將向Kafka傳輸數據,而消費者則從Kafka消費數據。 在Kafka集群內,數據將在主題內分布。 使用分區對主題進行分片。 如果多個消費者屬於同一消費者組,則消費者可以自我修復的方式工作。

有沒有一種方法可以修改群集,以便一次只運行一個生產者?

如果您打算在某個時間點運行單個生產者,則無需在集群中進行任何更改。

為集群中的所有節點運行相同的生產者和使用者代碼是否有任何弊端?

這里的主要缺點是可伸縮性和內存使用率。

生產者和消費者不需要在經紀人上運行。 生產者應部署在生成數據的地方(或作為獨立的主機運行,例如Kafka Connect工作者)。

應根據您在下游系統中需要的吞吐量和訂購保證,獨立擴展消費者。

沒有什么可以說8個經紀人需要8個生產者和8個消費者。 分區更重要

  • 如果一個主題中有N個分區,則無論如何都只能擴展到N個活動的使用者,並且無限多個生產者
  • 8個經紀人可以為任何給定主題保留很多分區

運行單個生產者是您自己的代碼的實現。 經紀人不能強迫它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM