Archived
Public
Watch 1
Fork 0
You've already forked Ignite-Framework
This repository has been archived on 2025-10-21. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.

Latest commit message

Hanyul Park
a3da8e3 2025-07-02 09:53:54 +09:00 8 commits
2025-06-27 13:49:41 +09:00
2025-06-27 13:49:41 +09:00
2025-06-27 13:49:41 +09:00
2025-06-27 13:49:41 +09:00
2025-06-27 13:49:41 +09:00
2025-06-27 13:49:41 +09:00

Apache Ignite Management Framework

Apache Ignite 클러스터 관리 및 백업 시스템을 위한 Java 관리 프레임워크입니다.

주요 기능

  • 클러스터 관리: 클러스터 활성화/비활성화, 베이스라인 토폴로지 관리
  • CRUD 작업: 캐시 기본 작업 (Create, Read, Update, Delete)
  • Cache Dump 백업: Key-Value 데이터의 엔트리별 백업 및 복원
  • SQL COPY 백업: SQL 테이블 데이터의 CSV 백업 및 복원
  • Spark 통합: Apache Spark와의 연동 기능

기술 스택

  • Apache Ignite: 2.17.0
  • Apache Spark: 2.4.8
  • Scala: 2.11.12
  • Java: 11

빌드 및 실행

빌드

./gradlew build
./gradlew test

데모 실행

캐시 백업 데모

./gradlew runCacheBackupDemo

SQL 백업 데모

./gradlew runSqlBackupDemo

서버 데모

./gradlew runServerDemo

백업 기능

SimpleCacheBackup - Key-Value 백업

  • 특징: 캐시 데이터를 CSV 형태로 백업/복원
  • 지원: 인메모리 + 영구 캐시 모두 지원
  • 이식성: 다른 클러스터로 이전 가능
  • 기능:
    • 개별 캐시 백업/복원
    • 전체 캐시 백업
    • 백업 파일 관리
    • 캐시 크기 조회

SqlCopyBackup - SQL 백업

  • 특징: SQL 테이블을 CSV + 스키마로 백업/복원
  • 지원: 데이터 + 스키마 백업
  • 복원: COPY 명령어를 통한 자동 복원
  • 기능:
    • 개별 테이블 백업/복원
    • 전체 테이블 백업
    • 스키마 스크립트 생성
    • 테이블 목록 조회

실제 구현 특징

  • Mock 없음: 실제 Apache Ignite와 연동
  • 완전 자동화: 클러스터 시작부터 백업까지 전체 프로세스
  • 실용적: 운영 환경에서 바로 사용 가능
  • 에러 처리: 완전한 예외 처리 및 리소스 정리

설정

클러스터 활성화

Control Script 사용:

  • Windows: control.bat --set-state ACTIVE
  • Linux/Mac: control.sh --set-state ACTIVE

Java API 사용:

  • cluster.state(ClusterState.ACTIVE)

설정 파일

src/main/resources/ignite-cluster.properties:

ignite.host=localhost
ignite.port=10800
ignite.timeout=30000
ignite.retry.attempts=3
ignite.retry.delay=1000
ignite.baseline.auto.adjust.enabled=true
ignite.baseline.auto.adjust.timeout=300000
ignite.cluster.tag=production-cluster

라이센스

Apache License 2.0