본문 바로가기
728x90

Topic3

Apache Kafka의 기본 아키텍쳐 Apache Kafka의 기본 아키텍쳐 - Producer : 메시지를 생산, Topic으로 전달 - Broker : kafka application이 설치되어 있는 서버 혹은 노드 - Consumer : Broker의 Topic으로부터 저장된 메시지를 전달받는 역할 - Zookeeper : 분산 애플리케이션 관리를 위한 코디네이션 시스템 기존 메시징 시스템과 차이점 배치 전송 처리 - Producer가 Broker에게 다수의 메시지를 전송하는 경우 batch형태로 Broker에게 한 번에 전달할 수 있음 - 메시지를 작은 단위로 묶어 batch 처리함으로 속도 향상 파일시스템에 메시지 저장 - 컨슈머가 메시지를 소비하더라도 별도의 설정을 하지 않아도 디스크에 메시지를 일정기간 보관하기 때문에 메시지 손.. 2022. 8. 20.
비동기 통신 비동기 통신 (Asynchronous messaging) 비동기 메시지를 처리하기 위해 Rabbit MQ의 exchange 를 활용할 경우, 업무의 필요성에 따라 다양한 형태의 아키텍처 설계가 가능합니다. exchange 메시지를 목표 큐로 라이팅 하기 위해 사용합니다. 일대일(direct), 일대 그룹(topic), 전체 (fanout) 형태의 라우팅할 수 있습니다. queue 메시지가 일시적으로 잔류하는 메모리 공간 입니다. 데이타베이스 등의 매체에 상기 보존이 필요할 경우 MQ는 별도의 로직을 작성하여야 합니다. 카프카의 경우 기본 적으로 파일에 저장하므로 retention 기간을 따로 줄 필요가 없습니다. binding exchange 가 어느 큐로 갈 지 queue와 엮는 과정입니다. route.. 2021. 6. 27.
[MQ] KafKa kafka ? - 여러 대의 분산 서버에서 대량의 데이터를 처리하는 분산 메시징 시스템 구성요소 - Broker - Message - Producer - Consumer - Topic Broker ? - 하나의 서버당 하나의 데몬 프로세스로 동작하여 메시지 수신/전달 요청을 받아들임 - 디스크의 총 용량에 따라 장기간 데이터를 보존할 수 있음 Partition? - 토픽에 대한 대량의 메시지 입출력을 지원하기 위해, 브로커 상의 데이터를 읽고 쓰는 것의 단위 - 브로커 클러스터 안에 분산 배치되며 Producer로부터 메시지 수신, Consumer에게 배달 분산을 실시함으로 하나의 토픽에 대한 대규모 데이터 수신과 전달을 지원 * 메시지 처리속도, Consumer 개수, Consumer 내 스레드 수 등.. 2021. 6. 10.
728x90