Datagen: Data Stream Generator by SPITHA
SPITHA는 Apache Kafka의 관리, 운영, 모니터링 솔루션인 Felice를 개발하고 있어요. SPITHA에서는 Kafka의 정상적인 작동 여부를 확인하고, Kafka의 부하를 테스트할 때 Datagen(Data Generator)을 만들어서 활용하고 있어요.
General
Datagen은 SPITHA에서 만든 Kafka용 Open-Source data stream generator입니다. Kafka를 테스트하기 위해서는 데이터 스트림을 Kafka로 보내줄 수 있는 도구가 필요했어요. 이 도구가 실제 Kafka 사용 환경에서 발생할 수 있는 시나리오를 모방할 수 있다면, Kafka의 정상 작동 여부를 상세히 판단하고, 또 부하 테스트를 수행하여 시스템을 최적화하는데 도움이 될 것이라 예상했습니다.
그래서 하나 만들었습니다.
Datagen: Data Stream Generator
SPITHA의 Datagen은 Open-Source입니다. Apache 2.0 라이선스에 기반하여 아래 링크에서 누구든 활용할 수 있어요.
GitHub — spithainc/Kafka-Datagen: Kafka producer client for data generation
Datagen이 가지고 있는 몇 가지 기능들을 설명해 드릴께요.
메시지 타입
- datagen.quickstart
- Kafka로 랜덤 메시지를 보내는 옵션입니다.
- 상세 옵션에서 보낼 메시지 내용의 종류를 선택할 수 있어요.(user, book, car, address, contact, movie, job) - datagen.message-byte
- Kafka로 byte 사이즈에 맞추어 랜덤 메시지를 보내는 옵션입니다.
- 만약 100으로 값을 설정한다면 100 byte의 메시지가 전송되게 됩니다.
두 옵션 중 하나의 옵션만 선택해서 사용할 수 있어요.
프로듀스 타입
- datagen.limit-data-amount-per-second
- 초당 몇 byte 정도의 메시지를 전송할 것인지 선택하는 옵션입니다.
- 만약 1,000으로 값을 설정한다면 초당 1,000byte의 메시지가 전송되게 됩니다. - datagen.interval
- 하나의 메시지를 보내고 그다음 메시지를 보낼 때까지의 기간(ms단위)을 선택하는 옵션입니다.
- 만약 10으로 값을 설정한다면 메시지 간의 인터벌은 10ms 간격을 두게 됩니다. - datagen.rate-per-second
- 초당 몇 개의 메시지를 보낼지 선택하는 옵션입니다.
- 만약 100으로 값을 설정한다면 초당 100개의 메시지가 전송되게 됩니다.
세 옵션 중 하나의 옵션만 선택해서 사용할 수 있어요.
설명드린 옵션만 선택하시면 Datagen을 Kafka와 연결하는 작업은 일반적인 Producer를 구성해서 Kafka와 연결하는 작업과 다르지 않아요.
사용하시다가 궁금하신 점이 있으시면 아래 메일로 문의주세요.
support@spitha.io