> I have 2 questions about the partition number and key. > 1. The produceRequest will explicitly include a partitionNumber, and > messageSet which contains messages with key(can be NULL, used to calculate > partitionNumber when specified). I am assuming all the messages in the > messageSet will be published to the partitionNumber specified. So My question > is, since the partitionNumber is explicitly specified in the produce request, > will the key still be used in calculating the partition number when the > request is handled at the server side? If so, how?
The broker does not make this decision. i.e., it will attempt to append the message to the partition specified in the produce request. > 2. In the introduction, it mentioned we can customize the > kafka.producer.Partitioner to influence the routing decision. Would you > please tell me where I can add my own Partitioner? I use the > kafka_2.8.0-0.8.0 binary, and the C++ client supporting kafka 0.8. Which C++ library do you use? Non-java clients are maintained outside the main Kafka code base. You will have to contact that client's maintainer to get an answer to this question. Joel
