<aside> ✅ 카프카가 생겨난 배경

링크드인에서 파편화된 데이터 파이프라인 문제를 해결하기 위해 개발됨

초기에는 데이터 파이프라인이 단순하고 데이터 사이즈도 작았지만, 시스템이 점점 거대해지면서 처리해야 할 데이터 양도 커지고, 데이터를 전달해야 할 노드의 수도 많아짐

→ 연결해야 할 서비스가 많고, 트래픽 양도 많은 상황에서 카프카를 활용할 수 있다

</aside>

Kafka는 이벤트 스트리밍 플랫폼

Kafka는 이벤트 발행자와 구독자 사이에서 중개자 역할을 한다

Kafka는 이벤트 발행자와 구독자 사이에서 중개자 역할을 한다

메시지 브로커가 없는 상태라면 :

각 시스템이 직접적으로 연결되어 잠재적인 장애에 노출됨

각 시스템이 직접적으로 연결되어 잠재적인 장애에 노출됨

메시지 브로커가 있는 상태 :

스크린샷 2023-07-04 오후 10.17.51.png

동기 방식의 상품등록 시스템 프로세스

스크린샷 2023-07-04 오후 10.20.55.png

판매자가 직접 API를 호출해 상품을 등록 → 응답을 받기까지 시간이 소요되고, 트래픽이 늘어나면 API 성능에 따라 속도가 더 저하될 수 있음

비동기 방식의 상품등록 시스템 프로세스

스크린샷 2023-07-04 오후 10.22.13.png

판매자는 Kafka Producer 모듈을 통해 상품을 등록하고, 곧바로 응답을 받음

컨슈머는 API 요청과 무관하게 독립적으로 로직을 실행하고, 필요에 따라 컨슈머를 증설하여 독자적으로 처리량을 확대할 수 있음