목록백엔드/kafka (2)
윤개발

Kafka의 기본이 되는 토픽과 파티션에 대해서 알아보자. Topic (토픽) 전송되는 데이터 스트림을 토픽이라 한다. 토픽은 로그가 될수도 있고 어떠한 데이터도 될 수 있다. 그림에서는 hello 라는 이름의 토픽을 가지고 있다. 데이터베이스의 테이블과 유사하며 제약이 없다. 원하는 만큼 많은 토픽을 생성할 수 있다. (hello_1, hello_2, hello_3 ...) 각 토픽은 이름을 통해 구분된다. Partitions (파티션) 하나의 토픽은 여러개의 파티션으로 구분된다. 그림에서 hello 토픽은 3개의 파티션으로 나뉘게 된다. 파티션은 0 부터 증가하는 id로 구별되며 파티션0, 파티션1, 파티션2은 모두 다른 파티션이다. 각각의 파티션에는 전송된 데이터가 저장이 된다. 데이터가 기록되면 ..

Apache Kafka를 사용하는 이유를 간단하게 알아봅시다. 1. 초기 시스템 처음의 시스템은 사진처럼 단순한 형태를 가지고 있습니다. 예를 들어 웹사이트에서 사용자의 동작을 분석하는 시스템을 생각해봅시다. 데이터를 전송하는 시스템 ( 웹애플리케이션 ) 전송되는 데이터 ( 사용자의 페이지 이동, 동작 등의 데이터 ) 데이터를 받는 시스템 ( 데이터를 받아 처리하는 Spark 등 ) 하지만 추후에 분석해야할 페이지가 늘어나고 더 다양한 분석 시스템이 도입되어 시스템의 규모가 커진다면 어떻게 될까요? 2. 대규모 시스템 다수의 시스템이 생기면 그림처럼 각 시스템의 복잡도가 증가합니다. 4개의 소스시스템과 6개의 타켓 시스템이 모두 연결되어 있다고 가정하면 4*6=24 개의 통합과정이 필요합니다. 시스템 통..