NATS의 개요
NATS는 메시징 서버입니다. 프로그램이 이름 붙은 subject(예: tasks.summarise)에 메시지를 발행하면 그 subject를 구독한 프로그램이 모두 받습니다. 기본 동작은 보내고 잊는 방식이어서, 메시지는 그 순간 듣고 있는 쪽에만 전달되고 다시 재생되지 않습니다. 같은 서버에 내장된 JetStream이 영속성을 더합니다. 메시지는 메모리나 디스크의 스트림에 저장되어 재시작 후에도 남고, 워커가 확인 응답할 때까지 재전달되며, 어느 지점에서든 다시 읽을 수 있습니다. JetStream은 키-값 저장소와 메시지 하나보다 큰 파일을 위한 객체 저장소도 제공합니다.
에이전트를 운영하는 팀에게 이는 독립된 워커 사이의 배관 역할을 합니다. 플래너가 도구를 실행하는 워커 풀에 작업을 넘기고, 결과가 돌아오며, 워커가 작업 도중 죽어도 잃어버리는 것이 없습니다. 서버는 온프레미스, 클라우드, 엣지, Raspberry Pi에서 돌아가며, README에 따르면 클라이언트 구현은 40개 이상의 언어로 나와 있습니다.
NATS는 Apache 2.0 라이선스의 CNCF 프로젝트입니다. 주요 메인테이너인 Synadia는 2025년 4월 프로젝트를 CNCF에서 빼내고 향후 릴리스를 Business Source License로 옮기려 했습니다. 이 분쟁은 2025년 5월 1일 합의로 끝났고, Synadia는 NATS 상표를 Linux Foundation에 넘겼으며 코드는 Apache 2.0으로 남았습니다. Synadia는 호스팅 서비스인 Synadia Cloud를 판매하며, 2026년에는 NATS Agent Protocol 초안을 바탕으로 한 Agents SDK를 내놓았습니다.
NATS의 가격은 얼마입니까?
| 플랜 | 가격 | 포함 내용 |
|---|---|---|
| Personal | Free | 연결 10개, 스토리지 5 GiB |
| Starter | $49/month | 연결 100개 |
| Pro | $199/month | 연결 1,000개, 네트워크 데이터 1 TiB |
| Enterprise | Custom |
Apache 2.0의 무료 오픈소스입니다. Synadia Cloud(호스팅 NATS): Personal 무료(연결 10개, 네트워크 데이터 10 GiB, 스토리지 5 GiB), Starter 월 $49(연결 100개), Pro 월 $199(연결 1,000개, 네트워크 데이터 1 TiB), Enterprise는 견적. 초과 요금은 GiB당 $0.01~$0.09이며, 자체 클러스터를 관리하는 Remote System 애드온은 월 $49입니다.
NATS, 쓸 만한 가치가 있습니까?
NATS는 독립된 에이전트 워커들에게 공유 영속 큐를 마련해 주는 가장 번거롭지 않은 방법입니다. JetStream을 켜고 실행한 Go 바이너리 하나로 발행할 subject, 워커가 확인 응답할 때까지 메시지를 보관하는 스트림, 작업 상태 같은 작은 공유 상태를 위한 키-값 저장소를 얻습니다. 같은 일을 Kafka로 하면 운영 부담이 훨씬 크고, Redis 리스트에는 재생 기능이 없습니다. 프로젝트는 성숙했습니다. GitHub 스타는 약 21,000개, 라이선스는 Apache 2.0이며, 버전 2.15.2가 2026년 10월 26일에 나왔습니다.
에이전트가 의존하기 전에 보장 수준을 이해해 두어야 합니다. Core NATS는 최대 한 번 전달하므로 오프라인인 워커는 메시지를 영영 놓칩니다. JetStream은 제때 확인 응답되지 않은 것을 재전달하므로 최소 한 번 전달이 되고, 워커가 멱등하지 않으면 느린 도구 호출이 두 번 실행될 수 있습니다. 문서는 Nats-Msg-Id 헤더를 이용한 exactly-once 발행을 설명하지만, 중복 감지 기간은 기본 2분으로 많은 LLM 재시도보다 짧습니다. 장애 후 중간부터 재개해야 하는 긴 에이전트 실행에는 여전히 워크플로 엔진이나 자체 체크포인트가 필요합니다. NATS는 작업을 옮기지만 계획이 어디까지 진행됐는지는 기억하지 않습니다.
가장 무거운 항목은 보안입니다. 저장소에는 2026년에만 27건의 보안 권고가 게시되었고 그중 12건이 높음 등급이며, 대부분 MQTT, WebSocket, 리프 노드, 권한 부여 코드에 관한 것으로 인증 전에 서버가 죽는 문제도 포함됩니다. 네트워크에 노출된 서버로서 특이한 일은 아니고 수정도 빨리 나오지만, NATS를 한 번 설치하고 업데이트하지 않는 팀은 실제 위험을 안게 됩니다. OSTIF를 통해 의뢰한 Trail of Bits의 감사 보고서가 2025년 4월에 공개되었습니다.
Synadia가 2025년에 시도한 BSL 전환은 실패했고, 합의로 상표는 Linux Foundation에 남았습니다. 덕분에 오픈소스 코어는 그해 봄에 보였던 것보다 안심하고 기반으로 삼을 수 있습니다. 2026년의 Agents SDK와 버전 0.3.0인 NATS Agent Protocol 초 안은 네트워크를 넘어 서로를 찾아야 하는 에이전트에게 흥미롭지만, 이는 CNCF 프로젝트가 아니라 Synadia의 계층이며 사양 자체도 보장된 전달을 향후 과제로 남겨 두고 있습니다.
제 역할을 하는 곳
리서치 에이전트를 운영하는 30명 규모 스타트업의 플랫폼 엔지니어
스크래핑과 요약 작업을 워커 풀에 넘기고 워커 장애를 견디기
플래너가 각 작업을 JetStream 작업 큐 스트림에 발행하면 워커가 가져가 처리하고 확인 응답하며, 확인 응답되지 않은 작업은 재전달됩니다. 작은 VM 위의 3노드 클러스터 하나면 충분하고, 비용은 VM과 서버 패치 관리입니다.
창고 엣지 기기에서 에이전트를 돌리는 물류 기업의 AI 팀
연결이 불안정한 거점에서 중앙 모델로 이벤트 보내기
각 거점의 리프 노드가 로컬에 버퍼링했다가 회선이 복구되면 중앙 클러스터로 전달합니다. NATS가 원래 겨냥한 용도이지만, 2026년 권고 중 여러 건이 리프 노드 코드에 관한 것이었으므로 엣지 기기 전체에 업데이트 경로가 필요합니다.
멀티 에이전트 도구를 시제품으로 만드는 10명 규모 에이전시의 엔지니어링 책임자
서버를 운영하지 않고 에이전트 메시징 시험하기
Synadia Cloud의 무료 Personal 플랜은 연결 10개와 스토리지 5 GiB를 허용해 시제품에 충분하고, 월 $49인 Starter는 연결을 100개로 늘립니다. Personal은 한도를 넘으면 초과 요금을 받는 대신 연결을 끊습니다.
도입 전 확인할 점
- 설정
- nats-server 바이너리를 내려받거나 공식 Docker 이미지를 JetStream을 켠 상태(nats-server -js)로 실행합니다. 다른 의존성은 필요 없습니다. 프로덕션 클러스터는 Artifact Hub의 Helm 차트를 씁니다.
- 연동
- Go, Python, TypeScript, Java, Rust, .NET 등 40개 이상 언어의 공식 클라이언트, MQTT와 WebSocket 리스너가 있으며, 그 위에서 TypeScript와 Python용 Synadia Agents SDK가 동작합니다.
- 데이터와 개인정보
- 셀프 호스팅 메시지는 자체 서버에 남으며, JetStream은 스트림별 보존 규칙에 따라 메모리나 디스크에 저장합니다. Apache 2.0이며 상업적 사용 제한이 없습니다. 2026년에 게시된 GitHub 보안 권고는 27건이고 그중 12건이 높음 등급입니다.
- 대규모 사용 시 비용
- 셀프 호스팅 비용은 머신 비용뿐입니다. Synadia Cloud Pro는 월 $199에 연결 1,000개, 네트워크 데이터 1 TiB, 스토리지 50 GiB를 제공하며, 클라이언트 송신 초과는 GiB당 $0.09입니다. Enterprise는 견적입니다.
- 제한
- 최소 한 번 전달이므로 워커가 멱등하지 않으면 작업이 중복됩니다. 중복 제거 기간은 기본 2분입니다. Synadia Cloud의 메시지 크기 한도는 Personal과 Starter에서 1 MiB, Enterprise에서 8 MiB입니다. 열린 이슈와 풀 리퀘스트는 약 475건입니다.
좋은 점
- 단일 바이너리이며 JetStream이 두 번째 시스템 없이 영속성을 더함
- 영속 작업 큐, 재생, 키-값 및 객체 저장소를 서버 하나에서 제공
- 40개 이상의 클라이언트 언어, Raspberry Pi부터 멀티 리전 클러스터까지 동작
- Apache 2.0이며 2025년부터 상표는 Linux Foundation이 보유
아쉬운 점
- 2026년 보안 권고 27건, 업데이트를 미룰 수 없음
- 기본은 최소 한 번 전달이라 워커가 중복 작업을 견뎌야 함
- 긴 에이전트 실행을 위한 워크플로 상태나 재개 가능한 단계가 없음
- 에이전트 프로토콜은 Synadia의 것이며 아직 초안
추천 대상
독립된 에이전트나 도구 워커를 여럿 운영하면서 Kafka 없이 영속 작업 큐와 팬아웃이 필요한 팀.
NATS: 자주 묻는 질문
- NATS, 쓸 만한 가치가 있습니까?
- 에이전트 하나 옆에서 돌릴 만큼 가볍고 수백 개 에이전트 사이에서 작업을 나를 만큼 튼튼합니다. 단, 보안 패치는 급한 일로 다뤄야 합니다. 평점은 5점 만점에 4.2점입니다.
- NATS의 가격은 얼마입니까?
- Apache 2.0의 무료 오픈소스입니다. Synadia Cloud(호스팅 NATS): Personal 무료(연결 10개, 네트워크 데이터 10 GiB, 스토리지 5 GiB), Starter 월 $49(연결 100개), Pro 월 $199(연결 1,000개, 네트워크 데이터 1 TiB), Enterprise는 견적. 초과 요금은 GiB당 $0.01~$0.09이며, 자체 클러스터를 관리하는 Remote System 애드온은 월 $49입니다.
- NATS의 단점은 무엇입니까?
- 2026년 보안 권고 27건, 업데이트를 미룰 수 없음; 기본은 최소 한 번 전달이라 워커가 중복 작업을 견뎌야 함; 긴 에이전트 실행을 위한 워크플로 상태나 재개 가능한 단계가 없음; 에이전트 프로토콜은 Synadia의 것이며 아직 초안.
- NATS에 적합한 사람은 누구입니까?
- 독립된 에이전트나 도구 워커를 여럿 운영하면서 Kafka 없이 영속 작업 큐와 팬아웃이 필요한 팀.
- 팀이나 프로덕션 환경에서 NATS의 비용은 얼마입니까?
- 셀프 호스팅 비용은 머신 비용뿐입니다. Synadia Cloud Pro는 월 $199에 연결 1,000개, 네트워크 데이터 1 TiB, 스토리지 50 GiB를 제공하며, 클라이언트 송신 초과는 GiB당 $0.09입니다. Enterprise는 견적입니다.
- NATS에 회사 데이터를 맡겨도 안전합니까?
- 셀프 호스팅 메시지는 자체 서버에 남으며, JetStream은 스트림별 보존 규칙에 따라 메모리나 디스크에 저장합니다. Apache 2.0이며 상업적 사용 제한이 없습니다. 2026년에 게시된 GitHub 보안 권고는 27건이고 그중 12건이 높음 등급입니다.
답변 확인일: 2026년 11월 9일.