我是kafka的新手,如果我听起来很愚蠢,但我到目前为止所理解的是......消息流可以被定义为一个主题,就像一个类别.并且每个主题分为一个或多个分区(每个分区可以有多个副本).所以他们并行行事
他们说,从卡夫卡主要网站
生产者能够选择将哪个消息分配给主题中的哪个分区.这可以通过循环方式完成,只是为了平衡负载,或者可以根据一些语义分区功能(例如基于消息中的某些键)来完成.
这是否意味着消费我将能够从特定分区中选择消息偏移量?运行多个分区时,是否可以从一个特定分区中选择,即分区0?
他们说,在卡夫卡0.7 快速启动
发送带分区键的消息.具有相同密钥的消息将发送到同一分区.
并且可以在创建生产者时提供密钥,如下所示
ProducerData<String, String> data = new ProducerData<String, String>("test-topic", "test-key", "test-message");
producer.send(data);
Run Code Online (Sandbox Code Playgroud)
现在我如何根据此密钥使用消息?在Kafka制作时使用此键的实际影响是什么?
在0.8beta中创建生产者时,我们可以通过配置文件提供分区器类属性.可以创建自定义分区器类来实现kafka分区器接口.但有点混淆它是如何工作的.0.8 doc也没有解释太多.有什么建议或mi遗失的东西?
apache-kafka ×1