Server 인프라
LangGraph Server 자체 외에도, 각 서버에 대한 다음 인프라 구성 요소들이 “data plane”의 광범위한 정의에 포함됩니다:- PostgreSQL: 사용자, 실행 및 메모리 데이터를 위한 영속성 계층.
- Redis: worker들을 위한 통신 및 임시 메타데이터.
- Secrets store: 환경 시크릿의 안전한 관리.
- Autoscalers: 부하에 따라 서버 컨테이너를 확장.
”Listener” 애플리케이션
data plane “listener” 애플리케이션은 주기적으로 control plane API를 호출하여:- 새로운 배포가 생성되어야 하는지 결정합니다.
- 기존 배포가 업데이트되어야 하는지 결정합니다 (즉, 새로운 revision).
- 기존 배포가 삭제되어야 하는지 결정합니다.
PostgreSQL
PostgreSQL은 LangGraph Server의 모든 사용자, 실행 및 장기 메모리 데이터를 위한 영속성 계층입니다. 이는 checkpoint(여기에서 자세한 정보 참조), 서버 리소스(thread, run, assistant 및 cron), 그리고 장기 메모리 저장소에 저장된 항목(여기에서 자세한 정보 참조)을 모두 저장합니다.Redis
Redis는 각 LangGraph Server에서 서버와 queue worker가 통신하고 임시 메타데이터를 저장하는 방법으로 사용됩니다. 사용자 또는 실행 데이터는 Redis에 저장되지 않습니다.통신
LangGraph Server의 모든 실행은 각 배포의 일부인 백그라운드 worker 풀에 의해 실행됩니다. 이러한 실행에 대한 일부 기능(취소 및 출력 스트리밍 등)을 활성화하려면 서버와 특정 실행을 처리하는 worker 간의 양방향 통신 채널이 필요합니다. 우리는 Redis를 사용하여 해당 통신을 구성합니다.- Redis list는 새로운 실행이 생성되는 즉시 worker를 깨우는 메커니즘으로 사용됩니다. 이 list에는 센티널 값만 저장되며, 실제 실행 정보는 저장되지 않습니다. 실행 정보는 worker가 PostgreSQL에서 검색합니다.
- Redis string과 Redis PubSub channel의 조합은 서버가 적절한 worker에게 실행 취소 요청을 전달하는 데 사용됩니다.
- Redis PubSub channel은 worker가 실행을 처리하는 동안 에이전트의 스트리밍 출력을 브로드캐스트하는 데 사용됩니다. 서버의 모든 열린
/stream요청은 해당 channel을 구독하고 도착하는 모든 이벤트를 응답으로 전달합니다. 어떤 이벤트도 Redis에 저장되지 않습니다.
임시 메타데이터
LangGraph Server의 실행은 특정 실패에 대해 재시도될 수 있습니다(현재는 실행 중 발생한 일시적인 PostgreSQL 오류에 대해서만). 재시도 횟수를 제한하기 위해(현재 실행당 3회 시도로 제한) 실행이 선택될 때 Redis string에 시도 번호를 기록합니다. 이는 ID 외에 실행별 정보를 포함하지 않으며, 짧은 지연 후 만료됩니다.Data plane 기능
이 섹션에서는 data plane의 다양한 기능을 설명합니다.Data region
Cloud 전용
Data region은 Cloud 배포에만 적용됩니다.
Autoscaling
Production 타입 배포는 자동으로 최대 10개의 컨테이너까지 확장됩니다. 확장은 3가지 메트릭을 기반으로 합니다:
- CPU 사용률
- 메모리 사용률
- 대기 중인(진행 중인) run 수
정적 IP 주소
Cloud 전용
정적 IP 주소는 Cloud 배포에만 사용할 수 있습니다.
| US | EU |
|---|---|
| 35.197.29.146 | 34.13.192.67 |
| 34.145.102.123 | 34.147.105.64 |
| 34.169.45.153 | 34.90.22.166 |
| 34.82.222.17 | 34.147.36.213 |
| 35.227.171.135 | 34.32.137.113 |
| 34.169.88.30 | 34.91.238.184 |
| 34.19.93.202 | 35.204.101.241 |
| 34.19.34.50 | 35.204.48.32 |
| 34.59.244.194 | |
| 34.9.99.224 | |
| 34.68.27.146 | |
| 34.41.178.137 | |
| 34.123.151.210 | |
| 34.135.61.140 | |
| 34.121.166.52 | |
| 34.31.121.70 |
커스텀 PostgreSQL
커스텀 PostgreSQL 인스턴스는 hybrid 및 self-hosted 배포에만 사용할 수 있습니다.
POSTGRES_URI_CUSTOM 환경 변수를 지정하세요.
여러 배포가 동일한 PostgreSQL 인스턴스를 공유할 수 있습니다. 예를 들어, Deployment A의 경우 POSTGRES_URI_CUSTOM을 postgres://<user>:<password>@/<database_name_1>?host=<hostname_1>로 설정하고, Deployment B의 경우 POSTGRES_URI_CUSTOM을 postgres://<user>:<password>@/<database_name_2>?host=<hostname_1>로 설정할 수 있습니다. <database_name_1>과 database_name_2는 동일한 인스턴스 내의 서로 다른 데이터베이스이지만, <hostname_1>은 공유됩니다. 동일한 데이터베이스를 별도의 배포에 사용할 수 없습니다.
커스텀 Redis
커스텀 Redis 인스턴스는 Hybrid 및 Self-Hosted 배포에만 사용할 수 있습니다.
Deployment A의 경우 REDIS_URI_CUSTOM을 redis://<hostname_1>:<port>/1로 설정하고, Deployment B의 경우 REDIS_URI_CUSTOM을 redis://<hostname_1>:<port>/2로 설정할 수 있습니다. 1과 2는 동일한 인스턴스 내의 서로 다른 데이터베이스 번호이지만, <hostname_1>은 공유됩니다. 동일한 데이터베이스 번호를 별도의 배포에 사용할 수 없습니다.
LangSmith tracing
LangGraph Server는 LangSmith로 trace를 전송하도록 자동으로 구성됩니다. 각 배포 옵션에 대한 세부 정보는 아래 표를 참조하세요.| Cloud | Hybrid | Self-Hosted |
|---|---|---|
| 필수 LangSmith SaaS로 trace. | 선택 사항 tracing 비활성화 또는 LangSmith SaaS로 trace. | 선택 사항 tracing 비활성화, LangSmith SaaS로 trace, 또는 Self-Hosted LangSmith로 trace. |
Telemetry
LangGraph Server는 청구 목적으로 telemetry 메타데이터를 보고하도록 자동으로 구성됩니다. 각 배포 옵션에 대한 세부 정보는 아래 표를 참조하세요.| Cloud | Hybrid | Self-Hosted |
|---|---|---|
| LangSmith SaaS로 telemetry 전송. | LangSmith SaaS로 telemetry 전송. | air-gapped license key에 대한 자체 보고 사용량(감사). LangSmith License Key에 대해 LangSmith SaaS로 telemetry 전송. |
Licensing
LangGraph Server는 license key 검증을 수행하도록 자동으로 구성됩니다. 각 배포 옵션에 대한 세부 정보는 아래 표를 참조하세요.| Cloud | Hybrid | Self-Hosted |
|---|---|---|
| LangSmith API Key가 LangSmith SaaS에 대해 검증됨. | LangSmith API Key가 LangSmith SaaS에 대해 검증됨. | Air-gapped license key 또는 Platform License Key가 LangSmith SaaS에 대해 검증됨. |
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.