Glossary
빌드로그 시리즈에 등장하는 기술 용어 사전. 각 용어마다 짧은 정의와 함께, 그 용어를 깊게 다루는 블로그 글로 연결됩니다. 새 글에 태그를 달면 아래 링크에 자동으로 모입니다. 본문에 용어가 처음 등장하면 이 사전으로 자동 연결됩니다.
메시징 / 이벤트
NATS / JetStream
경량 분산 메시징 시스템. 코어 NATS는 fire-and-forget pub/sub을 제공하고, JetStream은 그 위에 영속성·재전송·정확히 한 번(at-least/exactly-once) 전달과 보존(retention) 정책을 얹는 스트리밍 레이어다.
→ 관련 글: #nats
Event Bus
서비스 간 결합도를 낮추기 위해 이벤트를 발행/구독으로 주고받는 통신 축. 동기 호출 대신 이벤트로 흐름을 비동기화해, 생산자와 소비자가 서로를 직접 알 필요가 없게 만든다.
Temporal
장기 실행 워크플로를 코드로 작성하고, 중간에 죽어도 정확히 이어서 재개하도록 보장하는 워크플로 오케스트레이션 엔진. 상태와 재시도, 타임아웃을 런타임이 관리한다.
→ 관련 글: #temporal
SAGA / 보상 트랜잭션
분산 환경에서 여러 서비스에 걸친 트랜잭션을 하나의 락으로 묶을 수 없을 때, 각 단계를 로컬 트랜잭션으로 쪼개고 실패 시 보상(compensation) 액션으로 되돌리는 패턴.
→ 관련 글: #temporal, #architecture
인증 / 인가
BFF (Backend for Frontend)
프론트엔드 전용 백엔드 계층. 토큰을 브라우저(localStorage 등) 대신 서버 세션/쿠키에 보관해 XSS 노출을 줄이고, 클라이언트에 맞춘 API 집약(aggregation)을 담당한다.
→ 관련 글: #auth
OAuth / 토큰 저장
제3자 인가 위임 프로토콜. 핵심 설 계 결정은 access/refresh 토큰을 어디에 저장하느냐이며, BFF 패턴과 결합해 토큰을 서버 측에 두는 방식이 보안상 권장된다.
OPA (Open Policy Agent)
정책을 코드(Rego)로 선언하고 애플리케이션 밖에서 인가 결정을 내리는 범용 정책 엔진. 인가 로직을 비즈니스 코드에서 분리해 중앙에서 관리할 수 있다.
→ 관련 글: #security
데이터 / 식별자
TSID vs UUID
분산 식별자 선택 문제. UUID(특히 v4)는 완전 무작위라 정렬·인덱스 지역성이 나쁘고, TSID(time-sorted ID)는 시간 기반 정렬성을 가져 DB 인덱스 성능과 페이지네이션에 유리하다.
→ 관련 글: #db
DuckDB / Parquet on S3
Parquet는 컬럼형 저장 포맷, DuckDB는 인프로세스 분석용 OLAP 엔진. S3에 올린 Parquet를 별도 데이터 웨어하우스 없이 DuckDB로 직접 쿼리하는 경량 분석 패턴.
→ 관련 글: #db
인프라 / 배포
gRPC Health Check
gRPC 서비스의 표준 헬스 체크 프로토콜(grpc.health.v1.Health). 쿠버네티스 liveness/readiness probe와 연동해 트래픽 라우팅 전에 서비스 준비 상태를 확인한다.
Air-gap 컨테이너 설치
인터넷이 차단된 폐쇄망 환경에서 컨테이너 이미지·차트·의존성을 사전에 묶어 반입·설치하는 방식. 온프레미스/보안망 납품에서 필수.
SPA 런타임 설정 (Runtime Config)
빌드 시점이 아니라 런타임에 환경별 설정(API 주소 등)을 주입하는 기법. 한 번 빌드한 정적 SPA 산출물을 여러 환경에 그대로 배포할 수 있게 한다.
JetStream Retention
JetStream 스트림이 메시지를 얼마나/어떤 기준으로 보관할지 정하는 정책(limits / interest / work-queue). 스토리지 비용과 재처리 가능성 사이의 트레이드오프를 결정한다.
→ 관련 글: #nats
아키텍처
MSA (Microservice Architecture)
하나의 큰 애플리케이션을 독립 배포 가능한 작은 서비스들로 쪼갠 아키텍처. 서비스별 독립 확장·배포가 가능한 대신 분산 시스템의 복잡성(통신·일관성·관측성)을 떠안는다.
→ 관련 글: #architecture, #backend
Monorepo
여러 서비스/앱을 하나의 저장소에서 관리하는 전략. 공유 코드·일관된 툴링·원자적 변경의 이점이 있고, 워크스페이스 도구(pnpm/turbo 등)로 빌드 그래프를 관리한다.
→ 관련 글: #architecture
One Codebase, Many Web Apps
하나의 코드베이스에서 여러 웹 앱을 만들어내는 구성. 공통 컴포넌트·설정을 공유하면서 앱별 진입점과 라우팅을 분리한다.
→ 관련 글: #frontend, #architecture
One Repo: SaaS & On-Prem
같은 저장소로 SaaS(멀티테넌트 클라우드)와 온프레미스(폐쇄망 단일 설치) 두 배포 형태를 동시에 지원하는 전략. 빌드·설정·배포 파이프라인을 분기해 한 코드에서 두 제품을 낸다.
→ 관련 글: #architecture, #infra