c# - Kafka c#:自定义分区器和分配器实现
问题描述
我需要使用 c# Confluent 客户端库实现自定义 Partitioner 和 Assigner。使用 apache java 客户端 API 在 java 应用程序中实现了相同的功能:
隔板:
生产者配置:
props.put(ProducerConfig.PARTITIONER_CLASS_CONFIG, MyCustomerPartitioner.class.getName());
MyCustomerPartitioner 通过重写 configure、partition、onNewBatch 和 close 方法来实现 Partitioner。
分配者:
消费者配置:
props.put(ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, MyCustomAssignor.class.getName());
MyCustomAssignor 通过覆盖 name、configure、subscriptionUserData 和 assign 方法扩展 AbstractPartitionAssignor 实现 Configurable。
上述java实现使用spring-kafka 2.6.7。
我无法在 c# Confluent kafka 版本中找到 API:1.4.0。用于 Partitioner 和 Assigner 的自定义实现。
观察:
作为 ProducerConfig 一部分的 Partitioner 是枚举类型,具有 Random、Consistent、ConsistentRandom、Murmur2 和 Murmur2Random 值
分配器:ConsumerConfig 中使用的 PartitionAssignmentStrategy 是枚举值:Range 和 RoundRobin。
请求您让我知道我可以使用 c# Confluent kafka 库来实现自定义分区器和分配器的 API。