2024.03.08
두 개의 repo를 참조해서 읽어보았는데, 따로 정리하지 않아도 될 정도의 필력이었어서 repo만 남겼다. 이해가 어렵지 않았다. 아직은 수박 겉핥기라서. 인상 깊었던 내용 및 부분만 스크랩.
https://medium.com/@umanking/카프카에-대해서-이야기-하기전에-먼저-data에-대해서-이야기해보자-d2e3ca2f3c2
https://hudi.blog/what-is-kafka/
https://www.youtube.com/watch?v=0Ssx7jJJADI
→ 유튜브 영상 시리즈 3편까지 봤
특히 이부분 재밌게 읽음. 메시지를 디스크에 모두 저장해서 안정성을 높인 부분과, 다른 MQ 모델은 push기반이라 브로커가 서비스를 강하게 전체 통제를 하는 느낌이었는데, kafka는 컨슈머들이 자신의 상황에 알맞게 pull 기반으로 메시지를 소비할 수 있게 했다는 점이 인상 깊음. push로 브로커가 그냥 때려버리면 고려해야할 점들이 꽤나 늘어날 것 같아서 난 pull기반 메시지 소비가 더 올바른 방향이라고 생각함.
Task-manager 설계와 pub/sub model에 대한 학습, 그리고 아키텍쳐에 대한 대략적인 공부를 통해 무슨 느낌인지 알겠다. 이제 docs로 넘어가 보자.
아, 그리고 kafka가 왜 파티션과 consumer의 관계를 이런식으로 처리했는지 궁금했는데 유튜브 영상을 보면서 이해했다. kafka는 하나의 파티션은 반드시 하나의 consumer와 연결이 되어야 한다. consumer는 여러개의 파티션과 연결 될 수 있다. 즉 1:N의 관계인데, 이는 하나의 파티션 안에서 offset에 따른 순서를 반드시 보장해주기 위함이었다.