Czy istnieje elegancki sposób na zapytanie o temat Kafki dla konkretnego rekordu? Interfejs API REST, który buduję, otrzymuje identyfikator i musi przejrzeć rekordy powiązane z tym identyfikatorem w temacie Kafki. Jednym ze sposobów jest sprawdzenie każdego rekordu w temacie za pomocą klienta niestandardowego i poszukiwanie dopasowania, ale chciałbym uniknąć napływu czytającego kilka rekordów. Czy Kafka ma szybką, wbudowaną funkcję filtrowania?Temat zapytania Kafki dla konkretnego rekordu
Odpowiedz
Jedynym szybkim sposobem wyszukiwania rekordu w Kafce (dla uproszczenia) jest podział i przesunięcie. Nowa klasa producenta może, poprzez futures, powrócić do partycji i przesunięcia, w których napisano wiadomość. Możesz użyć tych dwóch wartości, aby bardzo szybko pobrać wiadomość.
Jeśli więc identyfikator zostanie usunięty z partycji i przesunięty, można zaimplementować szybkie zapytanie. W przeciwnym razie nie tak bardzo. Oznacza to, że identyfikator obiektu nie jest częścią Twojego modelu danych, ale jest generowany przez kod know-how Kafki.
Może to działa dla ciebie, może nie działa.
[Metoda, która zwraca przyszłość] (https://kafka.apache.org/0101/javadoc/org/apache/kafka/clients/producer/KafkaProducer.html#send (org.apache.kafka.clients.producer.ProducerRecord)) zawierające partycję i przesunięcie – ruhong
To może być późno dla ciebie, ale pomoże w jaki sposób inne patrz na to pytanie, teraz jest KSQL, Kafka sql jest open-source strumieniowe SQL silnik
AFAIK Kafka Streams wykonuje filtrowanie po stronie klienta, a nie w brokerze. W ten sposób nadal pobierasz wszystkie dane przez sieć. –
Tak, masz poprawne @SergeyKostrukov –
- 1. BigQuery creat powtórzone pole rekordu z zapytania
- 2. Zapytania przestrzenne na temat AWS SimpleDB
- 3. dla konkretnego unikalnego urządzenia
- 4. Lista konsumentów Kafki
- 5. Jak sprawdzić, czy SSL działa dla Kafki
- 6. Temat pelikana dla książki
- 7. Zasady Kafki i zapory
- 8. zaznacz dla konkretnego rozpoznawania gestów
- 9. mod_rewrite wyjątek dla konkretnego pliku
- 10. Błąd producenta Java Kafki
- 11. Struktura danych do obsługi konkretnego zapytania o zestaw 2D punkty
- 12. Jak zdobyć potwierdzenie od Kafki
- 13. Użyj zapytania SQL w celu, z wyjątkiem pierwszego rekordu
- 14. orderBy na temat zapytania whereHas w Laravel 4.2
- 15. Scalanie wielu identycznych tematów Strefy Kafki
- 16. Pierwsze SessionFactory dla konkretnego Datasource w Grails
- 17. Android źródłem informacji dla konkretnego produktu
- 18. jquery - jak używać ErrorPlacement dla konkretnego elementu?
- 19. Zablokuj UI Jquery plugin dla konkretnego DIV
- 20. Czy atrybut [Ref] dla parametrów rekordu stałego jest użyteczny?
- 21. pobierz plan wykonania zapytania dla zapytania
- 22. Jak uzyskać historię sprawdzeń/zestawów zmian dla konkretnego projektu zespołu?
- 23. Wyszukiwanie dziennika MySQL Bin dla zapytania
- 24. Czy mogę zdefiniować pomocnika rekordu dla TB?
- 25. Haskell: Aktualizacja rekordu dla typów egzystencjalnych
- 26. Model klonu Embera dla nowego rekordu
- 27. Gensim uzyskać temat dla dokumentu (dokument widziana)
- 28. Temat specyficzny dla projektu w sublimetext2
- 29. Podstępny temat do wywiady dla C++
- 30. Temat kolorystyczny TextMate's Dawn dla Emacsa
Jako Chris zaznacza, Kafka zapewnia pewien mechanizm odzyskiwania poszczególnych rekordów. Ale ostrzegam, że robiąc to nie jest to, do czego przede wszystkim jest przeznaczony Kafka, http://kafka.apache.org/documentation.html#uses. Jeśli używasz Kafki przede wszystkim do pobierania pojedynczych wiadomości z tematu, użycie innego oprogramowania może lepiej pasować do Twojego przypadku użycia. – morganw09dev
Tak, zdecydowałem się wdrożyć konsumenta Kafka, który zapisuje do bazy danych Mongo, a następnie mój REST API może zażądać od niego poszczególnych rekordów. Głosowałem za odpowiedzią Chrisa, ponieważ potwierdziło moje podejrzenie, że nie jest to możliwe (przynajmniej elegancko). – user554481