카프카는 실시간 데이터 처리가 가능한 분산 스트리밍 플랫폼
- Producer가 Topic에 메시지를 전달
- Topic은 Producer와 Consumer가 메시지를 보내고 받기 위한 채널.
- Topic은 여러 Partition으로 분할되어 Consumer에 의해 메시지를 병렬로 처리 가능
- Consumer는 하나 이상의 Topic을 구독하여 메시지를 수행
- 각 Partition은 유니크한 메세지 시퀀스(Offset)가 있으며, Consumer는 Offset으로 Parition의 처리 상황을 파악함
- Broker는 카프카 클러스터의 서버로 메시지를 저장 및 분배를 관리
단계별 동작
- 프로듀서가 토픽으로 메시지를 전달
- 토픽에 전달된 메시지는 파티션 끝에 저장
- 컨슈머는 토픽의 특정 파티션 또는 전체를 구독
- 컨슈머는 주기적으로 메시지를 요청하고 브로커는 신규 메시지 및 파티션의 오프셋을 전달
- 컨슈머는 메시지를 처리 후 오프셋을 커밋
반응형
'Programming' 카테고리의 다른 글
[vscode] 주석 처리 및 주석 해제 단축키 (한 줄, 여러 줄) (0) | 2023.02.11 |
---|---|
[MongoDB] 커서(cursor) 및 간단 사용 예시 (0) | 2023.01.28 |
[MongoDB} aggregate 간단 사용 예시 (0) | 2023.01.28 |
[MongoDB] 정렬 sort 사용 예시 (단일 및 여러 필드) (0) | 2023.01.28 |
[MongoDB] 컬렉션 생성 및 도큐먼트 추가 예시 (0) | 2023.01.28 |