2024.03.08

두 개의 repo를 참조해서 읽어보았는데, 따로 정리하지 않아도 될 정도의 필력이었어서 repo만 남겼다. 이해가 어렵지 않았다. 아직은 수박 겉핥기라서. 인상 깊었던 내용 및 부분만 스크랩.

repo

https://medium.com/@umanking/카프카에-대해서-이야기-하기전에-먼저-data에-대해서-이야기해보자-d2e3ca2f3c2

https://hudi.blog/what-is-kafka/

https://www.youtube.com/watch?v=0Ssx7jJJADI

→ 유튜브 영상 시리즈 3편까지 봤


스크린샷 2024-03-08 104452.png

특히 이부분 재밌게 읽음. 메시지를 디스크에 모두 저장해서 안정성을 높인 부분과, 다른 MQ 모델은 push기반이라 브로커가 서비스를 강하게 전체 통제를 하는 느낌이었는데, kafka는 컨슈머들이 자신의 상황에 알맞게 pull 기반으로 메시지를 소비할 수 있게 했다는 점이 인상 깊음. push로 브로커가 그냥 때려버리면 고려해야할 점들이 꽤나 늘어날 것 같아서 난 pull기반 메시지 소비가 더 올바른 방향이라고 생각함.

스크린샷 2024-03-08 105228.png

Task-manager 설계와 pub/sub model에 대한 학습, 그리고 아키텍쳐에 대한 대략적인 공부를 통해 무슨 느낌인지 알겠다. 이제 docs로 넘어가 보자.

아, 그리고 kafka가 왜 파티션과 consumer의 관계를 이런식으로 처리했는지 궁금했는데 유튜브 영상을 보면서 이해했다. kafka는 하나의 파티션은 반드시 하나의 consumer와 연결이 되어야 한다. consumer는 여러개의 파티션과 연결 될 수 있다. 즉 1:N의 관계인데, 이는 하나의 파티션 안에서 offset에 따른 순서를 반드시 보장해주기 위함이었다.