카프카 스트림을 사용하여 메시지 키를 기반으로 주제에 메시지를 보내

개수 :

나는 메시지 키의 키에 따라 다른 주제에 Kafkastream 모든 레코드를 보낼 수 있어야합니다. 전의. 카프카의 스트림은 값으로 키와 기록 등의 이름이 포함되어 있습니다. 나는 레코드의 키에 따라 서로 다른 주제에이 기록을 밖으로 팬에 원하는

데이터 (jhon -> {}는 jhonsRecord) (숀 -> {}는 seansRecord) (메리 -> {}는 marysRecord) (jhon -> {}는 jhonsRecord2) 예상

  • 항목 1 : 이름 : jhon -> (jhon -> {jhonsRecord}), (jhon -> {jhonsRecord2})
  • 항목 2 : sean-> (숀 -> {seansRecord})
  • topic3 ​​: 메리 -> (메리 -> {marysRecord})

아래는 내가 지금이 일을하고있는 방법이지만, 이름 목록 때문에이 느린 hudge이다. 플러스 기록을 몇 가지 이름이있는 경우에도, 나는 수정을 제안하십시오 전체 목록을 통과 할 필요는

    for( String name : names )
    {
        recordsByName.filterNot(( k, v ) -> k.equalsIgnoreCase(name)).to(name);
    } 
바르 토스 Wardziński :

난 당신이 사용한다고 생각합니다 KStream::to(final TopicNameExtractor<K, V> topicExtractor)기능을. 그것은 당신에게 각 메시지의 주제의 계산 이름 기능을 제공합니다.

샘플 코드 :

final KStream<String, String> stream = ???;
stream.to((key, value, recordContext) -> key);

추천

출처http://43.154.161.224:23101/article/api/json?id=316339&siteId=1