В Kafka сообщения с одинаковым ключом помещаются в один и тот же раздел.Вы можете определить раздел вручную:
// Force partitioning - default partition is 0
payloads = [
{ topic: 'test-topic', messages: ['TestMessage1'], partition: 0 },
{ topic: 'test-topic', messages: ['TestMessage2'], partition: 1 },
{ topic: 'test-topic', messages: ['TestMessage3'], partition: 2 },
{ topic: 'test-topic', messages: ['TestMessage4'], partition: 3 }
];
или использовать разные ключи для каждого сообщения:
payloads = [
{ topic: 'test-topic', messages: ['TestMessage1'], key: '1' },
{ topic: 'test-topic', messages: ['TestMessage2'], key: '2' },
{ topic: 'test-topic', messages: ['TestMessage3'], key: '3' },
{ topic: 'test-topic', messages: ['TestMessage4'], key: '4' }
];
// Alternatively, you can use KeyedMessage
km = new KeyedMessage('1', 'TestMessage1'),
km2 = new KeyedMessage('2', 'TestMessage2'),
payloads = [
{ topic: 'test-topic', messages: [ km , km2 ] },
];