Hi Svante, Thanks for your reply!
As you said, my purpose is let "all messages with the same key goes to the same partition", but the actual case is even I hard code the same partition key(let's say the key is "1") for three messages, the messages are still goes to different partitions. Regards, Haoming > Date: Wed, 26 Nov 2014 08:03:04 +0100 > Subject: Re: Partition key not working properly > From: [email protected] > To: [email protected] > > By default, the partition key is used for hashing then it's placed in a > partition that has the appropriate hashed keyspace. > > If you have three physical partitions and then give the partition key "5" > it has nothing to do with physical partition 5 (that does not exist) , > similar to physical: partition = hash("5") mod 3 > > > The only guarantee is that all messages with the same key goes to the same > partition. This is useful to make sure that for example all logs from the > same ip goest to the same partition which means that they can be read by > the same producer. > > /svante > > > > 2014-11-26 2:42 GMT+01:00 Haoming Zhang <[email protected]>: > > > > > > > > > Hi all, > > > > I'm struggling with how to use the partition key mechanism properly. My > > logic is set the partition number as 3, then create three partition keys > > as "0", "1", "2", then use the partition keys to create three KeyedMessage > > such as > > KeyedMessage(topic, "0", message), > > KeyedMessage(topic, "1", message), > > KeyedMessage(topic, "2", message) > > > > After this, creating a producer instance to send out all the KeyedMessage. > > > > I expecting each KeyedMessage should enter to different partitions > > according to the different partition keys, which means > > KeyedMessage(topic, "0", message) go to Partition 0, > > KeyedMessage(topic, "1", message) go to Partition 1, > > KeyedMessage(topic, "2", message) go to Partition 2 > > > > I'm using Kafka-web-console to watch the topic status, but the result is > > not like what I'm expecting. KeyedMessage still go to partitions randomly, > > some times two KeyedMessage will enter the same partition even they have > > different partition keys, . > > > > Not sure whether my logic is incorrect or I didn't understand the > > partition key mechanism correctly. Anyone could provides some sample code > > or explanation would be great! > > > > Thanks, > > Haoming > > > >
