Skip to content

kdhyo/fraud-detection-kafka-streams

Repository files navigation

카프카 스트림즈를 이용한 실시간 사기 탐지 시스템

이 프로젝트는 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

로컬 개발 환경 설정

  1. Kafka 서버 실행
# Zookeeper 실행
bin/zookeeper-server-start.sh config/zookeeper.properties

# Kafka 브로커 실행
bin/kafka-server-start.sh config/server.properties
  1. 필요한 토픽 생성
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
  1. 애플리케이션 빌드 및 실행
./gradlew build
./gradlew run

테스트 데이터 생성

테스트 트랜잭션 데이터를 생성하려면 다음 명령을 실행하세요:

./gradlew runDataGenerator

라이선스

이 프로젝트는 MIT 라이선스를 따릅니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors