У меня есть одна основная тема и несколько предикатов, каждая из которых имеет связанный с ней тему вывода. Я хочу отправить каждую запись во ВСЕ темы, чей предикат разрешает true. Я использую Luwak для проверки того, что предикаты записи удовлетворяют (чтобы использовать эту библиотеку, вы оцениваете документ со списком предикатов, и он сообщает вам, какие из них совпадают - то есть я назову его только один раз, чтобы получить список удовлетворенных предикатов).Потоковая передача сообщений по нескольким темам
Я пытаюсь использовать потоки Kafka для этого, но, похоже, для KStream не существует соответствующего метода (ветка KStream # только переносит запись на одну тему).
Один из возможных подходов заключается в следующем:
Stream from master
Map the values into a format with the original content and the list of matching predicates
Stream to an intermediate with-matches topic
For each predicate/output topic
Stream from intermediate with-matches topic
Filter "does list of matches predicates contain predicate ID"
Map the values to just the original content
Stream to corresponding output topic
Такая промежуточная тема кажется «неуклюжим», хотя. Любые лучшие предложения?
Я использую:
- Кафка v0.10.1.1
- Luwak v1.4.0