home

프로그램 내에서 코드로 카프카 관리하기

AdminClient 개요

  • Admin client는 비동기적으로 작동
  • Future 객체를 반환한다
  • 매개변수는 컨슈머, 프로듀서보다 간단한데 client.dns.loopup, request.timeout.ms 이다.

AdminClient 기능

  • admin.listTopics()를 통해서 토픽 목록 조회 가능
  • Future 객체를 반환받기에 get()를 사용하면 값을 받을 수 있음 (단 블로킹)

ConfigResource

  • 브로커, 브로커로그, 토픽 자원을 설정 가능하다.

컨슈머 그룹 관리

  • admin.listConsumerGroups().valid().get().foreach(System.out::println)으로 컨슈머 그룹 조회가 가능
  • AdminClient를 통해서 컨슈머 그룹이 일고 있는 파티션의 마지막으로 커밋된 오프셋과 렉을 알 수 있다.

그 외 고급 관리

  • 토픽에 파티션 추가
  • 토픽 레코드 삭제
  • 리더 선출
  • 레플리카 재할당
  • MockAdminClient로 테스트 가능