본문 바로가기
Back-End/kafka

[Kafka streams] Kafka streams 소개

by hongdor 2023. 2. 23.
728x90

참고 : 공식홈페이지 Apache Kafka - Introduction

 

Apache Kafka

Apache Kafka: A Distributed Streaming Platform.

kafka.apache.org

 

 

1. 정의

kafka streams 는 실시간 서비스, MSA를 만드는 client 라이브러리이다.

 

 

2. 특징

input, output 데이터는 kafka cluster들에 저장된다.

카프카의 이점을 가지고 Java와 Scala 어플리케이션을 쉽게 쓰고 배포할 수 있다.

 

 

3. 장점

  1. 확장성있고, 내결함성이 있다. ( 즉, 데이터 손실 없음을 보장)
  2. 컨테이너, VM, 베어메탈, 클라우드에 배포 가능하다
  3. 규모에 상관없이 동일하게 실행 가능하다.(트래픽이 늘어날 경우 여러개를 실행하면 됨)
  4. kafka security와 완전히 통합된다
  5. Java, Scala application이다
  6. 각 데이터마다 정확히 한번만 처리된다
  7. 별도의 processing 클러스터가 필요 없다
  8. Mac, Linux, Windows에서 개발 가능하다

 

4. stream이란

stream이란 끊임없는 데이터 흐름이다

stateless, statefull processing 모두 지원한다

 

CPU의 사용량이 많을 경우 APP을 확장할 수 있다.

 

stream을 원하면 KStream을, 같은 key의 가장 최근 값과 비교를 원한다면 KTable 이란 것을 사용한다

 

 

728x90

'Back-End > kafka' 카테고리의 다른 글

[Kafka streams] 컨셉  (0) 2023.02.26
[Kafka streams] Tutorial  (0) 2023.02.23
[Kafka streams] 데모 App 실행  (0) 2023.02.23
[Kafka] 빠른 시작 예제  (0) 2023.02.15
[Kafka] 카프카 소개  (0) 2023.02.14

댓글