_Han_
나의 개발 노트
_Han_
  • 분류 전체보기 (272)
    • 데이터 엔지니어링 (29)
    • 인프라 (3)
    • 추천시스템 (11)
    • 코딩테스트 (146)
    • 부트캠프 회고 (15)
    • 회고 (4)
    • 자격증 (1)
    • 파이썬 프로그래밍 (6)
    • 통계 (2)
    • Git (21)
    • 유니티2D (33)

최근 글

반응형
hELLO · Designed By 정상우.
_Han_

나의 개발 노트

[Kafka] Apache kafka 소개와 배경
데이터 엔지니어링

[Kafka] Apache kafka 소개와 배경

2024. 1. 19. 21:42
반응형

현재 업무상 데이터 인프라, 데이터 엔지니어링, 데이터 플랫폼을 운영하고 있습니다.

데이터 엔지니어라는 포지션이 꼭 데이터 엔지니어링만을 다루는 것이 아니라 해당 시스템을 뒷받침하는 인프라적인 요소를 잘 다루어야 한다는 것을 크게 체감하고 있습니다.

데이터 인프라적인 요소 또한 조금씩 포스팅하려고 합니다..

위에서 이야기한 두가지 요소를 포함하는 것을 데이터 플랫폼이라고 규명하겠습니다.

 

현재 운영하는 데이터 플랫폼의 첫 시작인 카프카에 대해서 이야기하려고 합니다.

Apache Kafka(아파치 카프카)

카프카는 카프카 공식문서를 통하면 더욱 자세하게 알 수 있습니다.

아파치 카프카란?

  • 오픈소스로 확장성이 뛰어난 메시지 브로커 프로젝트입니다.
  • 분산형 데이터 스트리밍 플랫폼이며 대용량의 실시간 데이터를 처리하는데 특화되어 있습니다.
  • Fault-Tolerant 분산 아키텍처로 데이터 유실 방지를 위한 구성이 잘 되어 있습니다.

아파치 카프카의 배경

링크드인에서 자사의 발생하는 이슈를 해결하고자 개발된 기술

링크드인 기존 시스템의 문제점

 

  • 엔드투엔드(end-to-end) 연결 방식의 아키텍처로 데이터 연동의 복잡성 증가
  • 각기 다른 데이터 파이프라인을 가지고 있으며 연결구조를 파악하기 힘들고 관리가 어려움
  • 확장이 용이하지 않음

카프카 등장 이후

  • 기존의 레거시 시스템보다 단순함(프로듀서/컨슈머 분리)
  • 데이터를 일정기간(retention) 보관하며 데이터를 다시 처리하는 것이 가능함
  • 변화에 유연하며 장애에 대한 대응이 좋고 관리가 비교적 쉬움
  • 확장성이 용이함

위와 같이 이전보다 구조파악과 관리가 쉬워지며 데이터 허브의 역할을 수행할 수 있게 변화하게 되었습니다.

 


 

참고자료

  • https://rkaehdaos.github.io/dev/BigData/kafka/hello-kafka-1/
  • https://ko.wikipedia.org/wiki/%EB%A9%94%EC%8B%9C%EC%A7%80_%EC%A7%80%ED%96%A5_%EB%AF%B8%EB%93%A4%EC%9B%A8%EC%96%B4
  • https://heodolf.tistory.com/49
  • https://dbrang.tistory.com/1626

 

 

 

반응형

'데이터 엔지니어링' 카테고리의 다른 글

[kafka] kafka cluster 구축하기  (2) 2024.01.28
[Kafka] kafka 아키텍처와 구성  (0) 2024.01.21
[빅데이터를 지탱하는 기술] 빅데이터의 축적 # 2  (0) 2023.05.27
[빅데이터를 지탱하는 기술] 빅데이터의 축적 # 1  (0) 2023.05.26
[빅데이터를 지탱하는 기술] 대규모 분산 처리의 프레임워크 # 5  (0) 2023.05.24
    '데이터 엔지니어링' 카테고리의 다른 글
    • [kafka] kafka cluster 구축하기
    • [Kafka] kafka 아키텍처와 구성
    • [빅데이터를 지탱하는 기술] 빅데이터의 축적 # 2
    • [빅데이터를 지탱하는 기술] 빅데이터의 축적 # 1
    _Han_
    _Han_
    학습한 것을 기록합니다.

    티스토리툴바