서버 인프라
LangGraph Server 자체 외에도, 각 서버를 위한 다음 인프라 구성 요소가 “데이터 플레인”의 광범위한 정의에 포함됩니다:- PostgreSQL: 사용자, 실행 및 메모리 데이터를 위한 영속성 레이어입니다.
- Redis: 워커 간 통신 및 임시 메타데이터를 처리합니다.
- 시크릿 스토어: 환경 시크릿의 안전한 관리를 제공합니다.
- 오토스케일러: 부하에 따라 서버 컨테이너를 확장합니다.
”리스너” 애플리케이션
데이터 플레인 “리스너” 애플리케이션은 주기적으로 컨트롤 플레인 API를 호출하여 다음을 수행합니다:- 새 배포를 생성해야 하는지 결정합니다.
- 기존 배포를 업데이트해야 하는지(즉, 새 리비전) 결정합니다.
- 기존 배포를 삭제해야 하는지 결정합니다.
PostgreSQL
PostgreSQL은 LangGraph Server의 모든 사용자, 실행 및 장기 메모리 데이터를 위한 영속성 레이어입니다. 여기에는 체크포인트(여기에서 자세히 확인), 서버 리소스(스레드, 실행, 어시스턴트 및 cron), 그리고 장기 메모리 스토어에 저장된 항목(여기에서 자세히 확인)이 모두 저장됩니다.Redis
Redis는 각 LangGraph Server에서 서버 및 큐 워커 간 통신 수단과 임시 메타데이터 저장소로 사용됩니다. 사용자나 실행 데이터는 Redis에 저장되지 않습니다.통신
LangGraph Server의 모든 실행은 각 배포의 일부인 백그라운드 워커 풀에 의해 처리됩니다. 이러한 실행에 대해 일부 기능(취소 및 출력 스트리밍 등)을 활성화하려면, 서버와 특정 실행을 처리하는 워커 간에 양방향 통신 채널이 필요합니다. 우리는 Redis를 사용하여 이러한 통신을 조직합니다.- Redis 리스트는 새 실행이 생성되는 즉시 워커를 깨우는 메커니즘으로 사용됩니다. 이 리스트에는 센티널 값만 저장되며, 실제 실행 정보는 저장되지 않습니다. 실행 정보는 이후 워커에 의해 PostgreSQL에서 검색됩니다.
- Redis 문자열과 Redis PubSub 채널의 조합은 서버가 적절한 워커에게 실행 취소 요청을 전달하는 데 사용됩니다.
- Redis PubSub 채널은 워커가 실행을 처리하는 동안 에이전트로부터의 스트리밍 출력을 브로드캐스트하는 데 사용됩니다. 서버의 모든 열린
/stream요청은 해당 채널을 구독하고 도착하는 이벤트를 응답으로 전달합니다. 어떠한 이벤트도 Redis에 저장되지 않습니다.
임시 메타데이터
LangGraph Server의 실행은 특정 실패(현재는 실행 중 발생한 일시적인 PostgreSQL 오류만 해당)에 대해 재시도될 수 있습니다. 재시도 횟수를 제한하기 위해(현재 실행당 최대 3회로 제한), 워커가 실행을 선택할 때 Redis 문자열에 시도 번호를 기록합니다. 여기에는 ID 외에 실행별 정보가 포함되지 않으며, 짧은 지연 후 만료됩니다.데이터 플레인 기능
이 섹션에서는 데이터 플레인의 다양한 기능에 대해 설명합니다.데이터 리전
클라우드 전용
데이터 리전은 클라우드 배포에만 적용됩니다.
오토스케일링
Production 타입 배포는 자동으로 최대 10개의 컨테이너까지 확장됩니다. 스케일링은 다음 3가지 메트릭을 기반으로 합니다:
- CPU 사용률
- 메모리 사용률
- 대기 중인(진행 중인) 실행 수
고정 IP 주소
클라우드 전용
고정 IP 주소는 클라우드 배포에만 사용할 수 있습니다.
| 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 인스턴스를 사용할 수 있습니다. 커스텀 PostgreSQL 인스턴스를 사용하려면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 인스턴스를 사용할 수 있습니다. 커스텀 Redis 인스턴스를 사용하려면 REDIS_URI_CUSTOM 환경 변수를 지정하세요. 여러 배포가 동일한 Redis 인스턴스를 공유할 수 있습니다. 예를 들어,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 트레이싱
LangGraph Server는 자동으로 LangSmith에 트레이스를 전송하도록 구성됩니다. 각 배포 옵션에 대한 세부 사항은 아래 표를 참조하세요.| 클라우드 | 하이브리드 | 셀프 호스팅 |
|---|---|---|
| 필수 LangSmith SaaS로 트레이스 전송. | 선택 사항 트레이싱 비활성화 또는 LangSmith SaaS로 트레이스 전송. | 선택 사항 트레이싱 비활성화, LangSmith SaaS로 트레이스 전송, 또는 셀프 호스팅 LangSmith로 트레이스 전송. |
텔레메트리
LangGraph Server는 과금 목적으로 텔레메트리 메타데이터를 자동으로 보고하도록 구성됩니다. 각 배포 옵션에 대한 세부 사항은 아래 표를 참조하세요.| 클라우드 | 하이브리드 | 셀프 호스팅 |
|---|---|---|
| LangSmith SaaS로 텔레메트리 전송. | LangSmith SaaS로 텔레메트리 전송. | 에어갭 라이선스 키의 경우 자체 보고 사용량(감사). LangSmith 라이선스 키의 경우 LangSmith SaaS로 텔레메트리 전송. |
라이선싱
LangGraph Server는 라이선스 키 검증을 수행하도록 자동으로 구성됩니다. 각 배포 옵션에 대한 세부 사항은 아래 표를 참조하세요.| 클라우드 | 하이브리드 | 셀프 호스팅 |
|---|---|---|
| LangSmith SaaS에 대해 LangSmith API 키 검증. | LangSmith SaaS에 대해 LangSmith API 키 검증. | LangSmith SaaS에 대해 에어갭 라이선스 키 또는 플랫폼 라이선스 키 검증. |
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.