728x90
카프카 생태계
- 카프카 프로듀서가 기본적으로 데이터를 넣고, 컨슈머가 데이터를 가져간다.
- stateful/stateless하게 다시 토픽을 처리해서 넣고 싶을 때는 스트림즈.
- 데이터베이스에서 가져와서 토픽에 데이터를 넣는 역할은 커넥트(소스) 다시 가져가는 애가 커넥트(싱크).
- 그럼 그냥 프로듀서, 컨슈머랑 같은거 아니야? 🙅 프로듀서 컨슈머와의 차이는 템플릿으로 반복적으로 만들 수 있다는 거다. (rest api)
- 프로듀서, 커넥트, 컨슈머, 스트림즈는 모두 java library로 제공되며, go나 js는 써드 파티라 모든 기능이 제공된다고 볼 수 없다는 점 유의.
브로커는 뭐해?
- 브로커0, 1, 2에 모두 데이터를 저장해서 브로커0이 죽더라도 컨슈머가 브로커1, 브로커2에서 가져갈 수 있게 분산 저장해.
주키퍼는 왜 필요해?
- 카프카 클러스터를 실행하기 위해 필요해.
- 카프카 3.0 부터는 주키퍼 없어도 클러스터 동작이 가능하지만, 상용에서는 아직도 주키퍼를 사용하고 있어.
이 포스팅은 모두 인프런의 [아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!를 듣고 제가 다시 볼 내용들을 정리한 포스팅입니다.

'DevOps > Kafka' 카테고리의 다른 글
[카프카 프로그래밍] 파티션 개수와 컨슈머 개수의 처리량 (0) | 2024.06.27 |
---|---|
[카프카 프로그래밍] 토픽과 파티션 (0) | 2024.06.27 |
[카프카 프로그래밍] 브로커의 역할 (0) | 2024.06.23 |
[카프카 프로그래밍] 아파치 카프카가 데이터 파이프라인으로 적합한 4가지 이유 (2) | 2024.06.16 |
[카프카 프로그래밍] 아파치 카프카의 탄생과 기본 구조 (0) | 2024.06.16 |
댓글