특정 주제를 수신하는 동일한 group.id를 가진 여러 소비자가 모두 있습니다. 주제에는 하나의 파티션이 있습니다.단일 파티션이있는 항목에 대해 동일한 group.id를 가진 여러 소비자의 예상 동작
동일한 소비자 그룹의 소비자 (동일한 group.id로 식별 됨)는 단일 소비자 만 메시지를 처리 할 수 있도록 라운드 로빈 방식으로 메시지를 받게된다는 것을 알고 있습니다. 소비자가 서로 다른 컴퓨터에서 서로 다른 Windows 서비스로 실행됩니다.
소비자는 C#으로 작성되었으며 Confluent's Apache Kafka .NET client을 기반으로합니다.
var config = new Dictionary<string, object>
{
{"group.id", "MyConsumerGroupId"},
{"enable.auto.commit", true},
{"auto.commit.interval.ms", 5000},
{"log.connection.close", false},
{"session.timeout.ms", 30000},
{"heartbeat.interval.ms", 5000},
{"queued.min.messages", 1000},
{"partition.assignment.strategy", "roundrobin"},
{"bootstrap.servers", _kafkaCluster},
{
"default.topic.config", new Dictionary<string, object>
{
{"auto.offset.reset", "largest"}
}
}
};
그러나 나는 모든 소비자가 같은 메시지를 얻을 수 있음을 경험을 할 : 같은
구성이 보인다. 소비자로부터받은 메시지에 대한 정보를 기록하고 여기에 동일한 메시지, 주제, 오프셋 및 파티션이있는 여러 로그 항목이 표시됩니다.
이것은 예상되는 동작입니까?
실제로 모든 소비자가 동일한 groupid에 속하는 경우 동일한 메시지가 표시되는 것은 이상합니다. 그러나 소비자가 서로 다른 컴퓨터에서 다른 Windows 서비스를 실행하고 있다고 말하면 정확히 무슨 뜻입니까? – dbustosp