이 프로젝트는 Apache Kafka Streams를 사용하여 실시간으로 금융 트랜잭션 데이터를 분석하고 사기 거래를 탐지하는 시스템입니다.
- 실시간 트랜잭션 데이터 처리
- 여러 사기 탐지 규칙 적용
- 이상 거래 감지 및 알림
- 언어: Kotlin
- 빌드 도구: Gradle (Kotlin DSL)
- 주요 라이브러리:
- Apache Kafka Streams
- Kotlinx Serialization
- Logback
src/main/kotlin/com/example/frauddetection/
├── Main.kt # 애플리케이션 진입점
├── FraudDetectionTopology.kt # 카프카 스트림즈 토폴로지
├── detector/ # 사기 탐지 관련 클래스
├── model/ # 데이터 모델 클래스
└── serde/ # 직렬화/역직렬화 클래스
- JDK 17 이상
- Gradle 8.0 이상
- Apache Kafka 3.x
- Kafka 서버 실행
# Zookeeper 실행
bin/zookeeper-server-start.sh config/zookeeper.properties
# Kafka 브로커 실행
bin/kafka-server-start.sh config/server.properties- 필요한 토픽 생성
bin/kafka-topics.sh --create --topic transactions --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1
bin/kafka-topics.sh --create --topic fraud-alerts --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1- 애플리케이션 빌드 및 실행
./gradlew build
./gradlew run테스트 트랜잭션 데이터를 생성하려면 다음 명령을 실행하세요:
./gradlew runDataGenerator이 프로젝트는 MIT 라이선스를 따릅니다.