하이파킹 Java → NodeJS 전환 및 Multi Cloud 마이그레이션
하이파킹 Java → NodeJS 전환 및 Multi Cloud 마이그레이션
1. 문제 (Problem)
하이파킹은 전국 1,300여 개 주차장, 29만 주차면, 연 최대 25백만 대 차량을 관리하는 대규모 주차 시스템을 운영하고 있었습니다. 하지만 다음과 같은 문제점들이 있었습니다:
- 레거시 Java 시스템의 한계: 기존 Java 기반 시스템의 성능 한계와 유지보수 어려움
- 단일 클라우드 의존성: AWS RDS(MariaDB)에 대한 의존도가 높아 장애 시 전체 서비스 영향
- 모니터링 부족: 시스템 상태를 실시간으로 파악하기 어려운 환경
- 확장성 제약: 주차장 수 증가에 따른 시스템 확장의 어려움
2. 해결 (Solution)
이러한 문제들을 해결하기 위해 다음과 같은 접근 방식을 취했습니다:
Java → NodeJS 전환
- 점진적 마이그레이션: 기존 Java 서비스를 단계적으로 NodeJS로 전환
- 성능 최적화: NodeJS의 비동기 처리 특성을 활용한 성능 개선
- API 호환성 유지: 기존 클라이언트와의 호환성을 보장하면서 전환
Multi Cloud 마이그레이션
- AWS RDS → Multi Cloud MariaDB Cluster: 단일 클라우드 의존성 해소
- 고가용성 확보: 여러 클라우드 제공업체를 활용한 장애 복구 능력 향상
- 비용 최적화: 클라우드 제공업체 간 경쟁을 통한 비용 효율성 확보
모니터링 시스템 구축
- MariaDB 모니터링: Connection, Lock Wait Timeout, Disk, Memory, CPU 모니터링
- Java 서비스 모니터링: Connection Pool 상태 실시간 모니터링
- 알림 시스템: 이상 상황 발생 시 즉시 알림 받을 수 있는 시스템 구축
주차 도메인 기능 개발
- 정기권 관리: 주차장별 정기권 발급 및 관리 시스템
- 할인 시스템: 다양한 할인 정책 적용 및 관리
- 주차 통제 외부 연동: 외부 시스템과의 연동을 통한 통합 관리
3. 결과 (Results)
- 시스템 성능 향상: NodeJS 전환을 통한 응답 속도 개선
- 고가용성 확보: Multi Cloud 환경을 통한 99.9% 이상의 서비스 가용성 달성
- 운영 효율성 증대: 실시간 모니터링을 통한 선제적 장애 대응
- 확장성 확보: 주차장 수 증가에 유연하게 대응할 수 있는 시스템 구축
- 비용 절감: Multi Cloud 전략을 통한 인프라 비용 최적화
4. 나의 역할 및 인사이트 (My Role & Insights)
역할:
- Java → NodeJS 전환 프로젝트 리드
- Multi Cloud 마이그레이션 아키텍처 설계
- 모니터링 시스템 구축 및 운영
- 주차 도메인 기능 개발
인사이트: 대규모 시스템의 기술 스택 전환은 단순한 기술적 문제가 아니라 비즈니스 연속성을 보장하면서 점진적으로 진행해야 한다는 것을 배웠습니다. 특히 25백만 대 차량을 관리하는 시스템에서는 무중단 서비스가 최우선이었고, 이를 위해 철저한 계획과 단계적 접근이 필수적이었습니다. Multi Cloud 전환을 통해 단일 클라우드 의존성의 위험성을 해소하고, 더욱 안정적인 서비스 운영 환경을 구축할 수 있었습니다.