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

时间:2019-01-14 11:12:43

标签: .net apache-kafka kafka-producer-api

我想使用.net应用程序在kafka中使用自定义分区。我创建了一个主题,分为15个分区。我有多条消息,涉及到我们的Web服务。我想使用分区,以便每条消息在进入我们的服务时都转到其分区。每条消息都有唯一的标识符,并且始终带有该标识符。因此,假设该消息的ID为2345 id,并且第一次将其存储在分区1中,那么此消息始终应该在此分区上。

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

请帮助我或给我一些建议。

谢谢

1 个答案:

答案 0 :(得分:2)

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

Kafka足够聪明,可以处理此消息,您必须使用标识符作为消息的Key,Kafka将使用该Key确定分区,而我认为对于特定的消息类型,该分区不会更改。 Kafka将始终将具有相同Key的消息存储在特定分区上。