JungHoon Control Center backend-portfolio.local
← Projects
SOLO · 22.12 ~ 23.06

00닉스 스마트태그 시스템

00닉스 임직원이 패용하는 사원증형 스마트태그의 위치 데이터를 기반으로, 안전·보안 목적의 실시간 위치 관제와 이동 경로 추적을 제공하는 시스템입니다. 신규 구축이 아니라 운영 중인 시스템의 안정화·고도화에 집중해 SQL·API·화면·계산 엔진 설정·서버 이관·운영 자동화를 단독으로 담당했습니다.

NexCoreJava 7OracleKafka

Role & Scope

운영 중인 실시간 위치 관제 시스템의 안정화·고도화를 단독으로 담당했습니다.

SOLO 22.12 ~ 23.06
기간
2022.12 ~ 2023.06
역할
운영·고도화 단독 담당
처리 규모
일 약 50만 건 위치 이벤트
기술 스택
NexCore · Java 7 · jQuery · Oracle · Kafka · Shell
  • NexCore 기반 API 서비스 및 jQuery 관제 포털 화면 수정
  • Oracle SQL 신규 작성 및 기존 쿼리 정합성 개선
  • Kafka 구독 기반 계산 엔진 설정 분석 및 오류 해결
  • AP 상태 및 측위 오류 원인 분석
  • 실시간 위치 이력 기반 이동 경로 조회 기능 구현
  • 계산 엔진 신규 서버 마이그레이션 및 운영 구조 개선
  • 환경별 설정 자동화를 위한 Shell Script 작성

Architecture

스마트태그 위치 이벤트가 Kafka로 분산되어 계산 엔진을 거쳐 관제 포털·API로 노출되는 흐름입니다.

SmartTag → AP → Kafka → 계산 엔진 → Oracle → API / Portal

flowchart LR
  Tag["임직원 SmartTag"] --> AP["AP 측위 장비"]
  AP --> Kafka["Kafka 토픽<br/>태그 ID suffix 분산"]
  Kafka --> Engine["계산 엔진<br/>suffix 필터 후 위치 계산"]
  Engine --> Oracle[("Oracle 위치 이력 DB")]
  Oracle --> API["NexCore API 서비스"]
  Oracle --> Portal["jQuery 관제 포털"]
          

What I Did · 문제 해결

단순 운영을 넘어 SQL 정합성, 부하 분석, 서버 이관, 운영 자동화까지 직접 처리한 작업들입니다.

  1. 배터리 부족 알림 대상 조회 로직 개선

    정직원·협력사·방문객 유형별 조건이 누적되며 일부 알림 대상이 누락되는 문제가 있었습니다.

    유형별 공통 조건과 예외 조건을 재정리해 쿼리를 단순화하고 알림 대상 정합성을 개선했습니다.

  2. 운영 포털용 대시보드 집계 SQL 작성

    정직원·협력사·방문객 구분별 태그 수량, 태그 유형별 수량, 배터리 상태별 수량을 집계하는 Oracle SQL을 작성해 운영자가 전체 태그 현황과 관리 대상을 한눈에 파악하도록 지원했습니다.

  3. 위치 이력 기반 이동 경로 조회 SQL 구현

    계산 엔진이 산출해 Oracle에 적재한 위치 이력을 태그·사용자·시간 범위 기준으로 시간순 조회하는 SQL을 작성해, 특정 시간대에 어떤 구역에서 어떤 구역으로 이동했는지 추적할 수 있게 했습니다.

  4. 계산 엔진 부하 불균형 원인 분석 및 설정 수정

    특정 서버의 계산 엔진 부하가 비정상적으로 높아지는 현상을 분석했습니다. 위치 이벤트는 태그 ID suffix 기준으로 Kafka 토픽에 분산되고, 계산 엔진은 세부 suffix 조건으로 필터링해 처리하는 구조였습니다.

    설정 오류로 처리 대상이 아닌 태그 데이터까지 유입되어 부하가 집중되고 있었고, 설정 파일을 수정·재배포해 서버별 계산 부하 편차를 완화했습니다.

  5. 계산 엔진 마이그레이션 및 운영 자동화

    2대 서버에 각 2개씩 있던 계산 엔진을 4대 서버에 각 1개씩 분산 배치하는 형태로 이관했습니다.

    개발 서버는 1대였지만 운영은 이천 4대·청주 4대로 구성이 달라, 환경 인자를 받아 설정 파일을 자동 변경하는 Shell Script를 작성해 테스트·운영 효율을 높였습니다.

Impact · 성과

면접에서 강조할 핵심 어필 포인트입니다.

  • 일 약 50만 건 규모의 위치 데이터를 처리하는 환경에서 운영 안정화와 정합성 개선을 수행했습니다.
  • SQL 튜닝을 넘어 데이터 정합성·조건 설계·운영 관점의 안정화 역량을 보여준 프로젝트입니다.
  • API·화면 수정, SQL 설계, 계산 엔진 분석, Kafka 분산 구조 이해, 서버 이관, 운영 자동화까지 한 사람이 폭넓게 담당했습니다.
Action completed