본문으로 건너뛰기

Glossary

빌드로그 시리즈에 등장하는 기술 용어 사전. 각 용어마다 짧은 정의와 함께, 그 용어를 깊게 다루는 블로그 글로 연결됩니다. 새 글에 태그를 달면 아래 링크에 자동으로 모입니다. 본문에 용어가 처음 등장하면 이 사전으로 자동 연결됩니다.

메시징 / 이벤트

NATS / JetStream

경량 분산 메시징 시스템. 코어 NATS는 fire-and-forget pub/sub을 제공하고, JetStream은 그 위에 영속성·재전송·정확히 한 번(at-least/exactly-once) 전달과 보존(retention) 정책을 얹는 스트리밍 레이어다.

→ 관련 글: #nats

Event Bus

서비스 간 결합도를 낮추기 위해 이벤트를 발행/구독으로 주고받는 통신 축. 동기 호출 대신 이벤트로 흐름을 비동기화해, 생산자와 소비자가 서로를 직접 알 필요가 없게 만든다.

→ 관련 글: #nats, #temporal

Temporal

장기 실행 워크플로를 코드로 작성하고, 중간에 죽어도 정확히 이어서 재개하도록 보장하는 워크플로 오케스트레이션 엔진. 상태와 재시도, 타임아웃을 런타임이 관리한다.

→ 관련 글: #temporal

SAGA / 보상 트랜잭션

분산 환경에서 여러 서비스에 걸친 트랜잭션을 하나의 락으로 묶을 수 없을 때, 각 단계를 로컬 트랜잭션으로 쪼개고 실패 시 보상(compensation) 액션으로 되돌리는 패턴.

→ 관련 글: #temporal, #architecture

인증 / 인가

BFF (Backend for Frontend)

프론트엔드 전용 백엔드 계층. 토큰을 브라우저(localStorage 등) 대신 서버 세션/쿠키에 보관해 XSS 노출을 줄이고, 클라이언트에 맞춘 API 집약(aggregation)을 담당한다.

→ 관련 글: #auth

OAuth / 토큰 저장

제3자 인가 위임 프로토콜. 핵심 설계 결정은 access/refresh 토큰을 어디에 저장하느냐이며, BFF 패턴과 결합해 토큰을 서버 측에 두는 방식이 보안상 권장된다.

→ 관련 글: #auth, #security

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와 연동해 트래픽 라우팅 전에 서비스 준비 상태를 확인한다.

→ 관련 글: #g-rpc, #infra

Air-gap 컨테이너 설치

인터넷이 차단된 폐쇄망 환경에서 컨테이너 이미지·차트·의존성을 사전에 묶어 반입·설치하는 방식. 온프레미스/보안망 납품에서 필수.

→ 관련 글: #infra, #ops

SPA 런타임 설정 (Runtime Config)

빌드 시점이 아니라 런타임에 환경별 설정(API 주소 등)을 주입하는 기법. 한 번 빌드한 정적 SPA 산출물을 여러 환경에 그대로 배포할 수 있게 한다.

→ 관련 글: #frontend, #ops

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