2014-07-15 17 views
5

Muszę przeczytać wiadomości w danym przedziale czasowym z tematu Kafki. Rozwiązaniem, które przychodzi mi na myśl, jest najpierw znalezienie największego przesunięcia na początku zakresu czasowego, a następnie kontynuowanie korzystania z wiadomości do momentu wyrównania wszystkich partycji poza końcem przedziału czasowego. Czy istnieje lepsze podejście do rozwiązania tego problemu? Dzięki!Jak powinniśmy czytać tematy Kafki w danym przedziale czasowym?

Odpowiedz

0

Co masz na myśli mówiąc "zakres czasowy"?

Zakres czasowy wiadomości w kolejce lub sygnatury czasowej w wiadomościach? :-)

To, co bym rozważał, to wykorzystać strumienie Kafki i strumień w oknie i albo odbierać wiadomości poza strumieniem z założeniem, że bieżący znacznik czasu odebrania wiadomości to ten z zakresu, a następnie rozważ wiadomość, w przeciwnym razie po prostu ją zignoruj .

Z drugiej strony, jeśli weźmiesz pod uwagę znaczniki czasu w komunikacie, małe rozszerzenie na strumień (w metodzie java DSL .filter()) naprawdę dobrze odfiltruje wiadomości dla ciebie. Musisz tylko sformułować dobry predykat.

Zobacz: Kafka Streams (Confluent) i Kafka Streams (Apache)

Powiązane problemy