Есть ли элегантный способ запросить тему Кафки для конкретной записи? REST API, который я создаю, получает идентификатор и должен искать записи, связанные с этим идентификатором, в теме Kafka. Один из подходов - проверить каждую запись в теме через пользовательский потребитель и искать совпадение, но я бы хотел избежать накладных расходов на чтение кучи записей. Имеет ли Kafka быструю встроенную фильтрацию?Query Тема Кафки для конкретной записи
ответ
Единственный быстрый способ поиска записи в Kafka (для упрощения) - это разделение и смещение. Новый класс производителя может возвращать через фьючерсы раздел и смещение, в которое было написано сообщение. Вы можете использовать эти два значения, чтобы очень быстро получить сообщение.
Итак, если вы сделаете идентификатор из раздела и смещения, вы можете реализовать свой быстрый запрос. В противном случае, не так много. Это означает, что идентификатор объекта не является частью вашей модели данных, а скорее генерируется кодом Kafka-knowledgable.
Возможно, это работает для вас, может быть, нет.
[Метод, который возвращает будущее] (https://kafka.apache.org/0101/javadoc/org/apache/kafka/clients/producer/KafkaProducer.html#send (org.apache.kafka.clients.producer.ProducerRecord)) содержащий раздел и смещение – ruhong
Это может быть поздно для вас, но это поможет в том, как другие увидеть этот вопрос, теперь есть KSQL, Кафка SQL является открытым исходным кодом потокового SQL двигатель
AFAIK Kafka Streams делает фильтрацию на стороне клиента, а не на брокере. Таким образом, вы все еще извлекаете все данные по сети. –
Да, вы правы @ Сергий Коструков –
- 1. Тема Drupal для конкретной страницы
- 2. Не удалось опубликовать Avro сообщения Кафки Тема
- 3. Extract конкретной тема значение от РДА
- 4. LINQ indexOf для конкретной записи
- 5. Открытая форма для конкретной записи
- 6. Запрос Mysql для конкретной записи
- 7. Запрос для получения конкретной записи
- 8. SQL Query LEFT OUTER JOIN с конкретной записи
- 9. SQL Query для записи записи для записи счетной записи
- 10. Источник Кафки против источника Avro для чтения и записи данных в канал кафки с использованием дымохода
- 11. Python: Тема для записи сайта с Flask
- 12. нужны более конкретной MySQL Query
- 13. Прогматически воссоздавая тему Кафки
- 14. ContactsContract.Contacts запрос для конкретной учетной записи
- 15. Управление доступом Openldap для конкретной записи
- 16. LINQ запрос для удаления конкретной записи
- 17. Получить папку для конкретной учетной записи Outlook
- 18. Как искать DataTable для конкретной записи?
- 19. Возвращает процент значений NULL для конкретной записи
- 20. Mongoose найти вложенные записи в конкретной записи
- 21. Улучшение конкретной производительности SQL Server Query
- 22. Match поля для каждой записи к конкретной записи запроса
- 23. PHP - выбор конкретной записи с помощью YQL
- 24. Выбор конкретной записи в SQL
- 25. Прекратить удаление конкретной записи CoreData?
- 26. блокировки конкретной записи в MySQL
- 27. Поиск конкретной позиции в записи
- 28. Являются ли темы Кафки параллельными?
- 29. Удаление конкретной записи из CoreData
- 30. Удаление конкретной записи в Джанго
Как Крис отмечает, Kafka предоставляет некоторый механизм для извлечения отдельных записей. Но я бы предостерег, что это не то, что Кафка в первую очередь предназначен для http://kafka.apache.org/documentation.html#uses. Если вы используете Kafka прежде всего для извлечения отдельных сообщений из темы, использование другого программного обеспечения может лучше соответствовать вашему варианту использования. – morganw09dev
Да, я решил внедрить потребителя Kafka, который пишет в базу данных Mongo, а затем мой REST API может запросить отдельные записи оттуда. Я проголосовал за ответ Криса, потому что он подтвердил мое подозрение, что это невозможно (по крайней мере, изящно). – user554481