Kafka 2

Kafka 기본 용어

토픽(Topic)데이터의 주제를 나타내며, 이름으로 분리된 로그.메시지를 보낼 때는 특정 토픽을 지정합니다.파티션(Partition)토픽은 하나 이상의 파티션으로 나누어질 수 있음.각 파티션은 순서가 있는 연속된 메시지의 로그.파티션은 병렬 처리를 지원하고, 데이터의 분산 및 복제를 관리.1 파티션 ← 1 컨슈머 접근 가능레코드(Record)레코드는 데이터의 기본 단위로 키와 값(key-value pair) 구성.오프셋(Offset)특정 파티션 내의 레코드 위치를 식별하는 값.프로듀서(Producer)데이터를 토픽에 보내는 역할.메시지를 생성하고 특정 토픽으로 전송.컨슈머(Consumer)토픽에서 데이터를 읽는 역할.특정 토픽의 메시지를 가져와서(poll) 처리.컨슈머 그룹은 여러 개의 컨슈머 인스턴스를..

Kafka 2025.03.02

Kafka consumer 사용 위치 비교

FastAPI 내부에 구성비동기 처리애플리케이션의 이벤트 루프를 활용하여 메시지 소비asyncio.create_task()를 통해 백그라운드에서 메시지 소비 가능웹 서버와 메시지 처리를 동시에 수행 가능메모리 공유가 용이하여 상태 관리 간편장점단일 애플리케이션 내에서 웹 요청과 메시지 처리 통합 가능리소스 효율적 사용 가능복잡한 아키텍처 불필요개발 및 배포 과정 단순화단점메시지 처리 지연 가능성웹 서버 성능에 메시지 소비 영향복잡한 메시지 처리에 제한적스케일링에 한계 존재장애 발생 시 전체 서비스 영향독립 Consumer 구성동기/비동기 선택 가능전통적인 동기 방식의 무한 루프 사용 가능멀티스레딩이나 별도의 프로세스로 구현 가능메시지 소비에 집중된 애플리케이션 구현다양한 처리 전략 구현 용이장점메시지 처..

Kafka 2025.03.02