카프카 컨슈머 그룹 리밸런싱이 무엇인지 알아보자 하나의 토픽에 다른 컨슈머 그룹을 추가해야 하는 상황을 맞이 했는데, 혹시나 기존의 컨슈머나 토픽에 영향을 줄까 싶어 살펴보다가 카프카 리밸런싱이라는 개념을 발견하게 되었다. 이번 글에서는 카프카 리밸런싱이 무엇이고, 왜 일어나는 것인지 기존 시스템에 어떤 영향을 미치는 지 알아보자. 컨슈머 그룹이란?컨슈머 그룹은 특정한 하나의 목적을 가진 컨슈머를 논리적인 그룹으로 묶는 단위이다. 기본적으로 모든 컨슈머는 특정 컨슈머 그룹에 속해있다. 1개든 2개든 N개든 컨슈머는 무조건 특정 목적을 가진 컨슈머 그룹으로 묶여있다. 그러면 컨슈머 그룹은 왜 사용할까? 컨슈머 그룹 왜 사용하는가?컨슈머 그룹은 크게 두가지 이유로 사용한다. Fault Tolerance (장..
카프카 스키마 레지스트리의 주요 동작 방식을 알아보자 스키마 레지스트리는 데이터의 스키마를 관리하고 저장하는 관리형 스키마 저장소이다. 이번 포스팅에서는 스키마 레지스트리의 주요 기능과 동작 방식에 대해 알아보고자 한다. 동작 방식 스키마 레지스트리는 Avro, JSON Schema, Protobuf 3가지의 형식을 지원한다(3가지 형식에 대해서는 다른 포스팅으로 다룰 예정이다). 해당 스키마는 subject 아래에 각각 저장되는데 subject의 이름은 subject name strategy에 의해 정해진다. 디폴트로 subject을 토픽이름으로 하는 TopicNameStrategy을 사용한다. 또한 스키마 레지스트리에는 가장 중요한 기능이라고 할 수 있는 compatibility 즉 호환성 규칙이 있..
카프카를 쿠버네티스 위에서 사용하는 이유와 장단점을 알아보자 최근 카프카를 주요하게 사용하는 프로젝트를 진행하면서 카프카와 쿠버네티스의 관계에 대해 궁금증이 생겼다. 일전에 카프카 커넥터를 쿠버네티스 위에 구축하여 사용해보면서 꽤나 좋은 경험을 했었는데, 커넥터 말고 카프카 전체를 쿠버네티스 위에서 사용하면 어떨지에 대한 호기심이 들었다. 이번 포스팅에서는 kafka on k8s를 사용하는 이유와 운영 시 주의할 사항들이 무엇이 있는지 알아보자. 왜 kafka on k8s를 사용할까? 만약 이미 다른 어플리케이션들을 쿠버네티스 위에서 실행시키고 있다면 오히려 물리 서버 위에서 실행시키는 것보다 훨씬 쉬운 일이 될 수 있다. 특히 대규모 조직에서는 Kafka를 Kubernetes 외부에서 배포하는 것이 많..