Проверяет знание методов сохранения порядка сообщений в распределённой системе.
Использовать 1 партицию (порядок гарантирован только в пределах партиции).
Ключевые сообщения (key): Одинаковые key попадают в одну партицию.
Транзакции (для exactly-once).
Плюс: Полный порядок.
Минус: Нет параллелизма.
key)Сообщения с одинаковым key идут в одну партицию.
Пример:
producer.send(new ProducerRecord<>("orders", "user123", "Order 1")); // Все сообщения для user123 — в одну партицию.Гарантируют атомарность и порядок для producer-а.
Пример:
producer.initTransactions();
producer.beginTransaction();
producer.send(record1);
producer.send(record2);
producer.commitTransaction();Вывод:
Для строгого порядка: 1 партиция или ключи.
Для exactly-once: Транзакции.