Kafka

Develop/DevCourseTIL

07.13 데이터 엔지니어링 69일차 - KafkaConsumer

KafkaConsumer 파라미터 Topic 이름을 KafkaConsumer의 첫번째 인자로 지정 혹은 나중에 별도로 subscribe를 호출해서 지정 파라미터 의미 기본 값 설명 bootstrap_servers 메세지를 보낼 때 사용할 브로커 리스트 (host:port) localhost:9092 client_id Kafka Consumer 이름 'kafka-python-{version}' 지정 안 하면, 알아서 지정됨 group_id Kafka Consumer Group 이름 consumer 수 상관없이 꼭 설정해줘야 함 key_deserializer, value_deserializer 메세지의 키와 값의 deserialize 방법 지정 (함수) serialize 했더 것을 다시 deserialize..

Develop/DevCourseTIL

07.12 데이터 엔지니어링 68일차 - Kafka

Kafka란? 실시간 데이터를 처리하기 위해 설계된 오픈소스 분산 스트리밍 플랫폼 데이터 재생이 가능한 분산 커밋 로그 (Distributed Commit Log) 한번 기록되면 영구적임 Scalability와 Fault Tolerance를 제공하는 Publish-Subscription 메시징 시스템 Producer-Consumer (Publish-Subscription) High Throughput과 Low Latency 실시간 데이터 처리에 맞게 구현됨 분산 아키텍처를 따르기 때문에 Scale out 이란 형태로 스케일 가능 서버 추가를 통해 Scalability 작성 (서버=Broker) 정해진 보유기한 (default=일주일) 동안만 메시지를 저장 Eventual Consistency 100대 서..

Develop/DevCourseTIL

07.10 데이터 엔지니어링 66일차 - 빅데이터 처리의 발전단계

데이터 처리의 일반적인 단계 데이터 수집 (Data Collection) 데이터 저장 (Data Storage) 데이터 처리 (Data Processing) 이 과정에서 서비스 효율을 높이거나 의사결정을 더 과학적으로 하게 됨 데이터 처리의 고도화 처음에는 배치로 시작 처리할 수 있는 데이터의 양이 중요 (얼마나 큰 데이터를 한꺼번에 처리할 수 있는가) 서비스가 고도화되면서 실시간 처리 요구가 생기기 시작 Realtime 처리 vs Semi Realtime 처리 동일 데이터 소비가 필요한 케이스 증가: 다수의 데이터 소비자 등장 처리량(Throughput) vs 지연시간(Latency) 처리량(Throughput): 주어진 단위 시간 동안 처리할 수 있는 데이터의 양 클수록 처리할 수 있는 데이터의 양이..

Develop/DevCourseTIL

Zookeeper란

Zookeeper Apache에서 개발한 오픈 소스 분산 형상 관리 시스템으로, 분산 어플리케이션을 위한 분산 코디네이터라고 할 수 있다. 한 노드 안에서 프로그램이 수행될 때는 걱정하지 않아도 될 요소인 네트워크를 통해서 메세지가 전송되는 부분이 종종 문제가 된다. 특히 메세지를 전송하고 네트워크가 끊겼을 때 송신자는 수신자가 메세지를 성공적으로 수신 했는지 조차 알 수 없게 된다. 메세지를 받고 처리까지 했는데 응답을 못 준 걸 수도 있고, 메세지 전송 자체가 실패한 걸 수도 있다. 작업이 성공했는지 실패했는지 여부 조차 알 수가 없는 것이다. zookeeper는 이러한 부분 실패(Partial Failure)를 처리하기 위한 분산 처리 도구를 제공한다. zookeeper는 분산 어플리케이션을 만들기..

향식이
'Kafka' 태그의 글 목록