daangn/kinesumer

Amazon Kinesis용 클라이언트 측 분산 컨슈머 그룹 클라이언트

개발 재료맘대로 써도 됨 · Apache-2.0백엔드·DBGo난이도
78+0이번 주0
8포크4이슈

중간맛 분석

Go로 작성된 Kinesis 클라이언트 라이브러리로, DynamoDB를 상태 저장소로 사용합니다. 여러 스트림을 동시에 소비하고, 샤드 범위를 자동으로 분배하며, 클라이언트 변화 시 리밸런싱합니다. 난이도는 중상(3/5)이며, AWS 계정 간 크로스 어카운트 접근도 지원하고, 즉시 사용 가능한 Go 코드 예제가 제공됩니다.

이런 레포예요

이럴 때 쓰면 좋아요

  • 여러 애플리케이션 인스턴스가 Kinesis 스트림의 데이터를 균형있게 소비해야 하는 경우
  • 실시간 로그 또는 이벤트 스트림을 여러 서버에서 처리할 때
  • Kinesis 샤드 재조정이나 인스턴스 스케일링 중에도 메시지 손실 없이 처리해야 할 때

핵심 기능

클라이언트 측 분산 컨슈머 그룹으로 리더 선출과 자동 샤드 리밸런싱DynamoDB 기반 상태 저장소를 통한 오프셋 체크포인트 관리크로스 어카운트 Kinesis 스트림 접근 지원

대안 대비 차별점

중앙 조정자 없이 DynamoDB만을 이용해 클라이언트 간 동기화를 수행하므로, 별도의 조정 서비스 운영 오버헤드를 제거할 수 있습니다.

먹어본 사람들

실제로 차려 먹어본 손님들의 흔적이에요 — 한마디와 완주 인증 모두 검수 후 공개돼요.

시식평 · 먹어본 사람 한마디

아직 시식평이 없어요. 먹어보셨다면 첫 한마디를 남겨주세요.

다른 레포 시식평 구경하기 →

이 레포로 만든 것들

🖋 완주 인증하기

아직 이 레포로 만든 완주 인증이 없어요. 첫 밥도장을 찍어보세요!

이 레포, 해먹는 법

처음 오셨어요? 어렵지 않아요 — 위에서 아래로 따라 하면 내 컴퓨터에 이 레포를 차려서 바로 맛볼 수 있어요.

준비물

  • AWS 계정 및 IAM 권한 (Kinesis, DynamoDB)
  • DynamoDB 상태 저장소 테이블 사전 생성
  • Go 1.11 이상

바로 차려먹기Go

깃밥이 레포 구조를 확인하고 만든 실행 명령이에요. 터미널에 붙여넣으면 받기부터 실행까지 한 번에 진행돼요.

git clone --depth 1 https://github.com/daangn/kinesumer.git &&
cd kinesumer &&
go run .

코드는 내 컴퓨터에서 실행돼요 — 처음 보는 레포라면 내용을 한번 훑어보고 실행하는 습관을 추천해요.

README가 안내하는 자세한 단계 보기
  1. DynamoDB 상태 저장소 테이블 생성

LSI 스키마에 따라 DynamoDB 테이블을 생성합니다.

  1. Go 모듈에 Kinesumer 추가
go get github.com/daangn/kinesumer
  1. 클라이언트 초기화
client, err := kinesumer.NewKinesumer(
    &kinesumer.Config{
        App:            "myapp",
        KinesisRegion:  "ap-northeast-2",
        DynamoDBRegion: "ap-northeast-2",
        DynamoDBTable:  "kinesumer-state-store",
        ScanLimit:      1500,
        ScanTimeout:    2 * time.Second,
    },
)
if err != nil {
    panic(err)
}
  1. 에러 채널 모니터링
go func() {
    for err := range client.Errors() {
        // 에러 처리
    }
}()
  1. 스트림에서 메시지 소비
records, err := client.Consume([]string{"stream1", "stream2"})
if err != nil {
    panic(err)
}

for record := range records {
    fmt.Printf("record: %v\n", record)
}

깃밥트라이로 맛보기

받아보기 귀찮고 살짝 불안했다면 — 안전 스캔부터 설치까지 터미널 한 줄로 끝나요.

터미널에 붙여넣으면 깃밥 안전 스캔 → 격리 폴더 clone → 설치 → 실행법 안내까지 자동이에요. 처음이어도 괜찮아요 — 이 한 줄이 전부예요.

npx gitbap-try daangn/kinesumer

Node.js만 있으면 설치 없이 실행돼요 · 깃밥트라이가 뭐예요? →

별 추이 · 7일

78+0 / 7일

활용성 · 따라 만들기 좋은가

따라 하기 좋음샘플 점수 38/100
  • 관대한 라이선스
  • 테스트 있음
  • 예제 디렉토리
  • 최근 활동
  • AGENTS.md
  • llms.txt
  • 템플릿

⚪ 최근 활동 정보 없음 · 2021년 생성

「백엔드·DB」 이런 레포, 매주 받아보실래요?

매주 월요일 아침, 골라 담은 밥상만. 광고 없이 · 언제든 해지.

내 레포인가요? README에 깃밥 배지 달기
[![깃밥](https://www.gitbap.com/badge/daangn/kinesumer.svg)](https://www.gitbap.com/r/daangn/kinesumer)
🔌 클로드에서 바로 써보기 — 깃밥 연결하는 법

깃밥을 클로드에 연결하면 이런 레포를 클로드·커서·Codex에서 바로 찾고 체험할 수 있어요.

방법 ① 커넥터 URL

클로드 설정 → 커넥터에 이 주소를 붙여넣기.

https://www.gitbap.com/api/mcp
방법 ② 플러그인 (체험까지)

플러그인을 설치하면 /gitbap-trending·/gitbap-try 슬래시 커맨드로 레포를 그 자리에서 체험. Claude Code에서 아래 두 줄을 차례로 실행하세요.

/plugin marketplace add jakeparkcolde/gitbap-cowork
/plugin install gitbap-cowork@gitbap
연결 방법 자세히 →

AI가 README 기반으로 요약했습니다 · 원문 보기