Как использовать Kakfa topic messages
у нескольких потребителей, используя Direct Stream approach?
Является ли это возможным? Поскольку подход Direct Stream не имеет Consumer Group
концепции.
Что произойдет, если я передам group.id
как kafkaparams для метода DirectStream? Приведенный ниже код работает with group.id
, поскольку Kafka Params также without group.id
.
Пример кода:
val kafkaParams = Map(
"group.id" -> "group1",
CommonClientConfigs.SECURITY_PROTOCOL_CONFIG -> sasl,
ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG -> "org.apache.kafka.common.serialization.StringDeserializer",
ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG -> "org.apache.kafka.common.serialization.StringDeserializer",
"metadata.broker.list" -> brokerList,
"zookeeper.connect" -> zookeeperURL
)
val dStream =
KafkaUtils.createDirectStream[String, String, StringDecoder, StringDecoder](
ssc, kafkaParams, topicSet
).map(_._2)