프로듀서 4

[kafka] 메시지 전송 케이스 별 프로듀서 옵션 설정

메시지 전송 케이스 별 프로듀서 옵션 설정 1. 메세지 손실 가능성이 높지만 빠른 전송이 필요한 경우 프로듀서의 acks=0 설정 일부 메시지 손실을 감안하더라도 매우 빠르게 전송이 필요한 경우. 메시지 손실이 발생한다고 해서 프로듀서가 보내는 메시지 90% 이상 손실된다는 의미는 아님 일반적인 운영 환경의 경우 메시지 손실 없이 빠르게 보내지만, 브로커가 다운되는 장애 등의 경우에 메시지 손실 가능성이 높은 편. 2. 메시지 손실 가능성이 적고 적당한 속도의 전송이 필요한 경우 1번 케이스와는 달리 프로듀서가 카프카로 메시지를 보낸 후 보낸 메시지에 대해 카프카가 잘 받았는지 확인(acks) 함. acks 받는 시간이 추가되어 시간이 속도는 떨어짐.(시간: 보내는 행동 + 응답을 받는 행동) 리더에 장..

Programming/Kafka 2020.04.20

[kafka] Producer Connection Config

Producer 주요 옵션 bootstrap.servers Type: list Default: "" Valid Values: non-null string Importance: high 카프카 클러스터는 마스터 개념이 없기 때문에 모든 서버가 클라이언트에게 요청받을 수 있음. 카프카 플러스터에 처음 연결하기 위한 호스트와 포트 정보로 구성된 리스트 정보 acks Type: string Default: 1 Valid Values: [all, -1, 0, 1] Importance: high 프로듀서가 카프카 토픽의 리더에게 메시지를 보낸 후 요청을 완료하기 전 ack(승인)의 수 해당 옵션의수가 작으면 성능은 좋아지만, 메시지 손실가능성이 있다. 옵션의 수가 커지면 성능이 좋지 않지만 손실 가능성이 줄어들거나..

Programming/Kafka 2020.04.19

[kafka] 카프카 특징

1. 카프카 특징 # 대표적인 특징 프로듀서와 컨슈머의 분리 멀티 프로듀서, 멀티 컨슈머 디스크에 메시지 저장 확장성 높은 성능 1. 프로듀서와 컨슈머의 분리 카프카는 메시징 전송방식 중 메시지를 보내는 역할과 받는 역할이 완벽하게 분리된 펍/섭 방식 적용. 이런 느슨한 결합을 통해 어느 한쪽 시스템에서 문제가 발생하더라도 서로 의존성이 없으므로 연쇄작용이 발생할 확률은 매우 낮음 장점 : 컨슈머의 서버가 하나더 추가 되더라도 카프카로만 보내면 되기 때문에 서버 추가에 대한 부담도 줄일 수 있음 2. 멀티 프로듀서, 멀티 컨슈머 카프카는 하나의 토픽에 여러 프로듀서 또는 컨슈머들이 접근 가능한 구조로 되어 있음. 하나의 프로듀서가 하나의 토픽에만 메시지를 보내는 것이 아니라, 하나 또는 하나이상의 토픽으..

Programming/Kafka 2020.04.10

[kafka] 카프카의 동작 방식과 원리

1. 메세징 시스템과 PUB/SUB 모델 카프카는 기본적으로 메시징 서버로 동작한다. 따라서 카프카의 동작 방식을 설명하기에 앞서 먼저 메시징 시스템에대해 알아보자. 메세지라고불리는 데이터 단위를 보내는 측(Publisher 또는 Producer)에서 카프카에 토픽이라는 각각의 메시지 장소에 데이터를 저장하면, 가져가는 측(Subscriber 또는 Consumer)이 원하는 토픽에서 데이터를 가져가에 되어 있다. 중앙에 메시지 시스템 서버를 두고 이렇게 메세지를 보내고(Publish) 받는(Consumer) 형태의 통신을 Pub/Sub 모델이라고 한다. Pub/Sub 모델이 아닌 일반적인 형태의 네트워크 통신은 아래와 같이 구성된다. 전송 속도와 전송 결과를 신속하게 알 수 있는 장점이 있는 반면 특정 ..

Programming/Kafka 2020.04.09