Project Detail

Niffler & Occamy

Niffler & Occamy — Hospitality Platform

MSA 기반 백엔드, DevOps 파이프라인, 인증 체계를 주도하여 다양한 역할의 팀이 빠르게 기능을 실험하고 배포할 수 있는 환경을 만들었습니다.

  • 마이크로서비스 아키텍처 기반 프로젝트 구축
  • Apache Kafka 기반 비동기 데이터 통신 구축
  • Apache Ignite 글로벌 캐싱 전략 수립 및 구축
  • Keycloak 인증 체계 구축
  • Gitea, Jenkins CI/CD 자동화

호텔 예약, 객실 운영, 고객 응대를 하나의 흐름으로 묶은 자체 숙박 플랫폼입니다. 마이크로서비스 아키텍처 위에서 글로벌 규모로 확장 가능한 백오피스를 구축했습니다.

ARCHITECTURE

MSA 기반 운영 플랫폼

Spring Cloud Gateway와 다수의 마이크로서비스로 구성해 기능별 확장과 독립 배포가 가능한 구조를 설계했습니다.

Gateway, Service Mesh, Observability
REALTIME

실시간 인증 & 데이터 동기화

Keycloak SSO, Apache Ignite 글로벌 캐시, Kafka 이벤트 스트림으로 예약 상태와 권한을 실시간 동기화했습니다.

Keycloak, Apache Ignite, Kafka
DEVOPS

자동화된 DevOps 파이프라인

Jenkins와 Kubernetes 파이프라인으로 테스트, 배포를 자동화하고, IaC 기반으로 인프라 변경을 추적했습니다.

Jenkins, Kubernetes, GitOps
Niffler & Occamy 프론트오피스 — 메인 대시보드
1 / 3

프로젝트 개요

Niffler와 Occamy 프로젝트는 자체적으로 개발한 호텔 예약 및 관리 플랫폼으로, 사용자의 편의성과 운영 효율성을 극대화하기 위해 설계되었습니다. 이 프로젝트는 현대적인 호텔 예약 시스템의 요구사항을 충족하면서도 확장 가능한 구조를 목표로 합니다. 특히, 예약 프로세스의 자동화, 실시간 상태 모니터링, 데이터 분석 기능을 통해 최적화된 운영 환경을 제공합니다.

주요 특징

  • MSA 기반 설계: 모놀리식 구조에서 탈피하여 각 기능을 독립적인 마이크로서비스로 구성
  • Apache Ignite 기반 글로벌 캐시 클러스터 구성으로 높은 응답 속도와 가용성 제공
  • Spring Batch를 활용한 예약 데이터 정리 및 보고서 생성 자동화
  • Kafka를 활용한 이벤트 기반 아키텍처로 실시간 알림 및 데이터 동기화
  • React, React Native, Material-UI를 활용한 직관적이고 사용성이 높은 UI

주요 책임 및 성과

  • 게이트웨이(Spring Cloud Gateway) 구현. 엔드유저의 권한 인가, 요청 바이패스 역할
  • KeyCloak 기반 인증 서버 구현 (토큰이 만료된 유저에 대해 인증 및 토큰 발행). 유저 정보를 더 빨리 읽어올 수 있도록 글로벌 캐시로 Apache Ignite 활용
  • Microservice 서버간 메시징 방식 베이스 코드 개발. 통신 방식으로는 Open Feign, Kafka 스키마 형식은 Avro 활용
  • 베이스 프로젝트 보일러플레이트 개발. 새로운 Microservice 생성 시 이 보일러플레이트 활용
  • Jenkins CI/CD 구축 및 문서화

기술 스택

  • Backend: Java, Spring Boot, Armeria, Spring Batch, Spring Security, Spring Cloud Gateway, KeyCloak
  • Frontend: React, React Native, Zustand, Material-UI
  • Database: PostgreSQL, Redis, Elasticsearch
  • DevOps: Kubernetes, Docker, Jenkins, Gitea Act Runner
  • Messaging: Kafka
  • Monitoring: Grafana

담당 역할

Niffler와 Occamy 프로젝트에서 프로젝트 베이스 코드 보일러플레이트 설계에 참여했습니다. 주요 역할로는 MSA 기반 프로젝트 구조 설계, 분산 트랜잭션 관리 설계, Apache Ignite를 활용한 글로벌 캐시 클러스터 구성이 있습니다. 또한, Jenkins를 활용한 배포 자동화 환경을 구성했습니다.

Tech Stack

서비스별 독립 배포와 실시간 동기화를 위해 Spring Cloud, Kafka, Keycloak 조합으로 핵심 인프라를 구성했습니다.

BACKEND

Service Platform Core

6

MSA 기반 예약 처리와 인증, 데이터 동기화를 담당한 핵심 서비스 계층입니다.

Java 17Spring BootArmeriaSpring Cloud GatewaySpring BatchKeycloak

DATA

Realtime & Data Infrastructure

5

Apache Ignite 글로벌 캐시와 Kafka 이벤트 스트림으로 빠르고 일관된 데이터 경험을 제공했습니다.

Apache IgniteKafkaPostgreSQLRedisElasticsearch

OPS

DevOps & Monitoring

5

CI/CD와 관측성을 자동화해 하루 여러 번 배포와 안정적인 운영을 지원했습니다.

KubernetesDockerJenkinsGrafanaGitea Act Runner