bin/kafka-topics.sh --bootstrap-server=localhost:9092 --create --topic ANTARES --partitions 4
try(KafkaProducer<String, String> producer = new KafkaProducer<>(properties)) {
ProducerCallback producerCallback = new ProducerCallback();
Random r = new Random();
ProducerRecord<String, String> kafkaRecord;
producer.initTransactions();
try {
for (int i = begin; i < begin + size; i++) {
UUID key = UUID.randomUUID();
int value = (int) (30 * r.nextGaussian());
int partition = Math.abs(value % 4);
kafkaRecord = new ProducerRecord(
topic,
partition,
System.currentTimeMillis(),
key,
value);
producer.send(kafkaRecord, producerCallback);
}
producer.commitTransaction();
Здесь нет идеального решения. Здесь - матрица компромиссов. Где-то чуть-чуть мы проиграли. Где-то выиграли.
Но и EAV - это не серебрянная пуля. Это просто теоретизированная концепция.