Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用.net在kafka中自定义分区(使用基于哈希的算法)_.net_Apache Kafka_Kafka Producer Api - Fatal编程技术网

使用.net在kafka中自定义分区(使用基于哈希的算法)

使用.net在kafka中自定义分区(使用基于哈希的算法),.net,apache-kafka,kafka-producer-api,.net,Apache Kafka,Kafka Producer Api,我想使用.net应用程序在kafka中使用自定义分区。我创建了一个主题,它被划分为15个分区。我有多条消息,这些消息来自我们的web服务。我想以一种方式使用分区,当涉及到我们的服务时,每条消息都会转到它的分区。每条消息都有唯一的标识符,并且总是带有该标识符。因此,假设消息是2345 id的,并且第一次存储在分区1中,那么该消息应该始终在该分区上 在java中,我发现一些代码使用基于哈希的算法在分区中旋转消息。我们可以在.net中实现这些功能吗?。 我在librdkafka中发现了一些东西,但是这

我想使用.net应用程序在kafka中使用自定义分区。我创建了一个主题,它被划分为15个分区。我有多条消息,这些消息来自我们的web服务。我想以一种方式使用分区,当涉及到我们的服务时,每条消息都会转到它的分区。每条消息都有唯一的标识符,并且总是带有该标识符。因此,假设消息是2345 id的,并且第一次存储在分区1中,那么该消息应该始终在该分区上

在java中,我发现一些代码使用基于哈希的算法在分区中旋转消息。我们可以在.net中实现这些功能吗?。 我在librdkafka中发现了一些东西,但是这个特性正在开发中。我必须使用.net在kafka中实现自定义分区器

请帮助我或给我一些建议


谢谢

如果我正确理解您的用例,您希望在特定分区上存储具有特定标识符的消息


Kafka足够聪明来处理这个问题,您必须使用标识符作为消息的密钥,Kafka将使用该密钥确定分区,我认为对于特定的消息类型,该密钥不会改变。Kafka总是将具有相同密钥的消息存储在特定分区上。

我想确定消息将在哪个分区上。我必须为它编写一些算法,比如使用.net编写基于has的算法。如果我有500个以上的消息id,我必须在15个分区之间分发消息。我希望卡夫卡制作人足够聪明,能够在分区中分发消息。和partitioner一样,每个消息都将在其分配的分区上运行。如果出现新的消息id,则kafka生产者应决定分区。你能给我举一些使用.net的例子吗。我们怎样才能决定那把钥匙?使用.netThanks sammy,k,我想确定消息将在哪个分区上发送。我必须为它编写一些算法,就像使用.net的has-based算法一样。如果我有超过500个消息id,我必须在15个分区之间分发消息。我希望卡夫卡制作人足够聪明,能够在分区中分发消息。和partitioner一样,每个消息都将在其分配的分区上运行。如果出现新的消息id,则kafka生产者应决定分区。你能给我举一些使用.net的例子吗。我们怎样才能决定那把钥匙?使用.net时,您可能需要特别为.net搜索它。但是,如果您采用这种方法,那么很可能您也会在算法中使用分区数,这只是一个警告。(类似于messageid%no of partitions)如果您进一步增加了分区,那么最终可能会出现一个术语。