그냥 쉽게말해 정말 효율적인 큐 라고 생각하면 되는 것 같다.
만든 이유 : 기존 end to end 연결 방식에서는 통합/중앙화된 전송 영역이 없기에 복잡해졌기 때문.
-> 어우 복잡해..
모든 시스템으로 데이터 전송하고, 실시간 처리가능 하고, 급속도로 성장하는 서비스를 위해 확장이 용이한 Kafka 탄생!
짜잔
Topic 단위로 이벤트를 씀.
Producer Consumer을 분리해서
Pro -> Broker의 Topic에 메세지를 게시하기만 하면 되고, 컨슈머는 가져오면됨
** 높은 확장성을 제공함.
Consumer는 Pull 모델을 기반으로 처리함.
--> Consumer가 필요할때 브로커로부터 메세지를 가져옴
Pub/Sub 왜함??
중앙에 메세징 시스템 서버를 두어서, 개체가 빠지거나 수신불능이 되어도, 메세징 시스템만있으면 유실 x . N:M으로 연결된게 아니라 확장성이 용이함
장점 :
1. 다양한 소비자의 처리 형태 / 속도 고려 안해도됨.
2. 높은 가용성
단점:
1. 직접 통신이 아니라 정확히 전달됐는지 확인하려면 코드가 복잡해짐
2. 메시징 시스템을 통해 메시지 전달속도가 느림.
'TIL' 카테고리의 다른 글
220816 자바에서의 문자열 (0) | 2022.08.16 |
---|---|
220812 자바객체복사. JoinTable. findById 의 작동원리 등 (0) | 2022.08.12 |
220811 (0) | 2022.08.11 |
220810 TIL (0) | 2022.08.10 |
220808 // 스프링에서 cache에 대하여 (0) | 2022.08.08 |