본문 바로가기

SOFTWARE

RedGX

Redis GPU eXchange

AI 서비스의 대용량 트래픽을 안정적으로 분산 처리합니다.

v1.0 (Phase 1~5 구현 완료)REST API + 네이티브 핫패스 가속 + 외부 추론 엔진 비동기 격리

Architecture

구성도클라이언트 요청은 Nginx를 거쳐 RedGX API Router로 진입합니다. CPU 기반 일반 REST 요청은 메인 Redis에서 즉시 처리되며, GPU 요청은 redis-gpu의 3단계 파이프라인(Inbox/Queue -> Processing -> Outbox/Cache)을 통해 비동기 중계됩니다. 실제 운영 환경에서는 기획된 서비스 유형에 맞춰 단일 추론 컨테이너와 Worker만 활성화하여 사용합니다.
핀치/휠로 확대 · 드래그로 이동 · 더블탭/더블클릭으로 리셋

해결하려는 문제

일반적인 웹/앱 서비스 서버가 큰 부하를 주는 AI 추론 기능을 직접 실행하는 것은 위험합니다. AI 모델을 불러오는 데 오랜 시간이 걸릴 뿐 아니라, 그래픽 카드 메모리(VRAM)를 크게 차지하고, 갑자기 사용자 요청이 몰릴 경우 메모리 부족으로 메인 서버 자체가 멈춰버리는 원인이 되기 때문입니다. RedGX는 클라이언트의 AI 처리 요청을 받으면 일단 대기열(큐)에 즉시 안전하게 보관합니다. 그 후 백그라운드 작업기(Worker)가 독립된 AI 엔진에 처리를 위임하고, 완료된 결과는 결과 보관함에 따로 저장하여 클라이언트가 언제든 가져갈 수 있게 합니다. 이 구조로 AI 연산 부하를 메인 서비스 서버와 분리해, 서비스 전체가 24시간 끊김 없이 안정적으로 동작합니다.

사용 예시

GPU 임베딩 비동기 호출 (curl)

# 1) 임베딩 요청 접수 (즉시 202, req_id 반환)
curl -k -X POST https://gateway/api/v1/ns/shared/gpu/embed \
  -H "X-API-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"inputs": ["문장 1", "문장 2"]}'
# → {"ok": true, "data": {"req_id": "..."}}

# 2) 결과 조회 (Worker 처리 후 Outbox에서 회수)
curl -k https://gateway/api/v1/ns/shared/gpu/embed/$REQ_ID \
  -H "X-API-Key: $API_KEY"
# → {"ok": true, "data": {"status": "done", "vectors": [[...], [...]]}}

모든 요청은 X-API-Key 헤더로 인증하며, 네임스페이스 단위로 쓰기/읽기 권한을 제어할 수 있습니다. 응답은 일관되게 {"ok": true, "data": {...}} 형식으로 반환됩니다.

표준 API 인터페이스 (8개 영역 — RedGW와 동일)

호출 주소 구조는 RedGW와 동일합니다 — /api/v1/ns/{namespace}/{resource}/{key}. 상세한 구조는 RedGW 소개 페이지에서 확인하실 수 있습니다.

GPU 연산 중계 (지원 모델 예시)

호출 방식: POST /api/v1/ns/{ns}/gpu/{task}로 요청을 보내어 접수 번호(req_id)를 먼저 받은 뒤, GET /api/v1/ns/{ns}/gpu/{task}/{req_id}로 연산 결과를 가져옵니다. RedGX는 인프라 상황과 필요 요건에 따라 다양한 AI 엔진을 유연하게 결합할 수 있으며, 실제 서비스 운영 단계에서는 이 중 필요한 단 하나의 AI 모델/엔진만 연결하여 사용하는 것이 표준입니다.

추론 서버 분리 — 불변 원칙

RedGX의 작업기는 AI 모델을 내부 메모리에 직접 올리지 않습니다. 모든 AI 연산은 완전히 분리된 전용 AI 엔진 컨테이너에서 동작하며, 작업기는 HTTP 통신으로 처리 요청을 전달하는 다리 역할만 수행합니다.

AI 추론 서버는 대용량 처리에 특화된 오픈소스 엔진(vLLM, TEI 등) 또는 상황에 맞춘 자체 추론 서버를 사용합니다. 실제 서비스 운영 시에는 필요한 기능에 맞춰 단 하나의 AI 엔진만 연결하여 사용하며, 위에 표시된 5가지 기능과 모델명은 연동 테스트를 위해 구성한 대표적인 예시입니다.

기능

제품 사양

버전
v1.0 (기능 구현 완료)
라이선스
비공개 (사내 내부 프로젝트)
형제 프로젝트
RedGW — /software/redgw/
실행 방식
웹 API 및 백그라운드 작업기 분리 운용
저장소
기본 데이터용 Redis + AI 연산 처리용 별도 Redis 구성
AI 엔진 연동
전문 추론 엔진(vLLM, TEI 등) 연동 지원 (운영 시 필요한 엔진 하나만 연동)
보안/중계
Nginx를 통한 암호화 연결 및 호출 횟수 제한
상태 감시
실시간 서비스 지표 및 대기열 모니터링
AI 모델 독립성
AI 모델을 직접 가져오지 않고 독립된 외부 엔진으로만 호출 (시스템 안전 확보)

보안 · 컴플라이언스

라이선스
비공개 (사내 내부 프로젝트)
운영 전제
폐쇄망 지원 — AI 모델 및 실행 환경 이미지를 모두 사전에 내부망으로 반입하여 구동
인증 · 권한
X-API-Key 헤더를 통한 클라이언트 인증 및 네임스페이스별 읽기/쓰기 권한 제어
안전 격리
작업기가 AI 모델을 직접 실행하지 않는 독립 구조로, AI 장애가 게이트웨이 서비스로 전파되는 것을 차단
전송 · 제한
Nginx 기반 HTTPS 연결 제공 및 단위 시간당 무단 과호출 방지 설정
보안 조치 문의
info@cubiware.co.kr 문의 접수 (사내 보안 가이드라인 준수)

도입 · 시작하기

  1. 사용 목적 검토 — 임베딩, 문장 생성, 번역 등 대상 AI 기능 설정 및 대상 모델 후보 선정
  2. 설치 및 환경 구성 — 서버 컨테이너 이미지와 연동할 AI 모델을 사전에 반입하여 연동 구성
  3. 감시 및 모니터링 — 실시간 요청 유입 지표와 처리 상황을 시각화 도구(Prometheus + Grafana)로 감시

서비스 연동 과정에서 사용 패턴에 맞춘 요청 묶음 크기(batch_size)와 최대 대기 시간(max_wait_ms) 튜닝 가이드를 기본 제공합니다.

최근 변경

로드맵

도입을 검토하고 계신가요?

고객 요건과 운영 환경에 맞춰 구성·도입 절차를 안내해 드립니다. 데모·제안 요청은 문의로 받습니다.