mobile menu

The Arrow Newsletter

mobile menu

kafka stream 예제

Kafka Streams가 스트리밍 애플리케이션을 간소화하는 다음 주요 방법은 테이블과 스트림의 개념을 완전히 통합한다는 것입니다. 우리는 “내부 데이터베이스를 선회”의 방법으로 전에이 아이디어에 대해 이야기했습니다. 이 구는 결과 시스템이 응용 프로그램과 해당 데이터 간의 관계를 다시 캐스팅하는 방법과 데이터 변경에 대한 반응 의 맛을 캡처합니다. 이를 이해하기 위해 “table”과 “stream”의 의미와 이러한 항목을 결합하면 비동기 앱에 대한 일반적인 패턴의 전체 호스트가 단순화되는 이유를 설명합니다. 이 생태계는 스트림 처리 생태계만큼이나 혼란스럽습니다! 이전 사용 사례에 직접 연결하 고 Kafka의 특성으로 인해 특히 주제가 복제 된 커밋 로그에 지속되어 추가 사용 사례 또는 구현 된 추가 인프라 구성 요소를 제안하고 싶습니다. 카프카 스트림. 상태 비수기 변환처리에 대한 상태가 필요하지 않습니다. 예를 들어 스트림 프로세서의 특정 문자열로 시작하는 모든 키에 대한 스트림을 필터링한다고 가정해 보겠습니다. 이 경우 Kafka 스트림은 스트림의 이전 이벤트를 알 필요가 없습니다. 단순히 메시지에 대한 각 필터링 작업을 수행하고 계속 진행됩니다. 반대로 스트림에서 특정 값을 합산한다고 가정해 보겠습니다.

이 경우 합계 결과의 실행 집계를 유지하려면 스트림의 이전 메시지에서 이미 처리된 내용을 알기 위해 “상태”가 필요합니다. Confluent 스트림 예제는 여기에 있습니다. 이 예제에서는 Java 8 람다 식(코드를 크게 단순화함)의 사용, Avro 데이터를 읽음/쓰기하는 방법 및 포함된 Kafka 클러스터를 사용하여 종단 간 통합 테스트를 구현하는 방법을 보여 줍니다. Kafka의 핵심 추상화를 스트림 처리를 위한 기본 요소로 설계했기 때문에 스트림 처리 프레임워크에서 얻을 수 있는 것을 제공하는 것을 제공할 수 있기를 원했지만 추가 운영 복잡성은 거의 없습니다. 일반 카프카 생산자 및 소비자 API를 넘어섭습니다. 원래 의 예 아키텍처는 부분적으로만 함께 작동하는 독립적 인 조각의 집합이었지 만, 우리는 당신이 카프카, 카프카 커넥트, 카프카 스트림 모두 함께 작동하도록 만들어진 것 같은 느낌이 느낄 수 있기를 바랍니다.