跳到主要内容
数据平面由您的 LangGraph 服务器(部署)、其支持基础设施以及“监听器”应用程序组成,该应用程序持续轮询来自 LangSmith 控制平面的更新。

服务器基础设施

除了 LangGraph 服务器本身,每个服务器的以下基础设施组件也包含在“数据平面”的广义定义中:
  • PostgreSQL:用户、运行和内存数据的持久化层。
  • Redis:用于工作进程的通信和临时元数据。
  • 密钥存储:安全管理环境变量密钥。
  • 自动扩缩器:根据负载扩缩服务器容器。

“监听器”应用程序

数据平面“监听器”应用程序会定期调用 控制平面 API
  • 确定是否应创建新的部署。
  • 确定是否应更新现有部署(即新版本)。
  • 确定是否应删除现有部署。
换句话说,数据平面“监听器”读取控制平面的最新状态(期望状态),并采取行动协调未完成的部署(当前状态)以匹配最新状态。

PostgreSQL

PostgreSQL 是 LangGraph 服务器中所有用户、运行和长期内存数据的持久层。它存储检查点(更多信息请参阅此处)、服务器资源(线程、运行、助手和定时任务),以及长期内存存储中保存的项目(更多信息请参阅此处)。

Redis

每个 LangGraph 服务器都使用 Redis 作为服务器和队列工作进程进行通信以及存储临时元数据的方式。Redis 中不存储任何用户或运行数据。

通信

LangGraph 服务器中的所有运行都由每个部署的后台工作进程池执行。为了为这些运行启用某些功能(例如取消和输出流),我们需要一个服务器和处理特定运行的工作进程之间的双向通信通道。我们使用 Redis 来组织这种通信。
  1. Redis 列表用作新运行创建后立即唤醒工作进程的机制。此列表中仅存储一个哨兵值,没有实际的运行信息。运行信息随后由工作进程从 PostgreSQL 中检索。
  2. Redis 字符串和 Redis PubSub 通道的组合用于服务器向相应的工作进程传达运行取消请求。
  3. Redis PubSub 通道由工作进程用于在处理运行期间广播来自代理的流式输出。服务器中任何开放的 /stream 请求都将订阅该通道,并在事件到达时将其转发到响应。Redis 中不会随时存储任何事件。

临时元数据

LangGraph 服务器中的运行可能会因特定故障(目前仅限于运行期间遇到的瞬态 PostgreSQL 错误)而重试。为了限制重试次数(目前每个运行最多 3 次尝试),我们会在将其提取时将尝试次数记录在 Redis 字符串中。这不包含除其 ID 之外的任何特定于运行的信息,并在短时间延迟后过期。

数据平面功能

本节描述了数据平面的各种功能。

数据区域

仅适用于云 数据区域仅适用于 部署。
部署可以在 2 个数据区域创建:美国和欧盟。 部署的数据区域由创建部署的 LangSmith 组织的数据区域决定。部署及其底层数据库不能在数据区域之间迁移。

自动扩缩

生产类型部署自动扩缩至 10 个容器。扩缩基于 3 个指标:
  1. CPU 利用率
  2. 内存利用率
  3. 待处理(进行中)运行的数量
对于 CPU 利用率,自动扩缩器目标是 75% 的利用率。这意味着自动扩缩器将根据需要向上或向下扩缩容器数量,以确保 CPU 利用率在 75% 或接近 75%。对于内存利用率,自动扩缩器也目标是 75% 的利用率。 对于待处理运行数量,自动扩缩器目标是 10 个待处理运行。例如,如果当前容器数量为 1,但待处理运行数量为 20,自动扩缩器将把部署扩缩到 2 个容器(20 个待处理运行 / 2 个容器 = 每个容器 10 个待处理运行)。 每个指标独立计算,自动扩缩器将根据导致最大容器数量的指标确定扩缩操作。 缩减操作在采取任何行动之前会延迟 30 分钟。换句话说,如果自动扩缩器决定缩减部署,它将首先等待 30 分钟,然后再缩减。30 分钟后,指标会重新计算,如果重新计算的指标导致容器数量低于当前数量,则部署将缩减。否则,部署保持扩缩状态。此“冷却期”确保部署不会过于频繁地扩缩和缩减。

静态 IP 地址

仅适用于云 静态 IP 地址仅适用于 部署。
从 2025 年 1 月 6 日之后创建的所有部署的流量都将通过 NAT 网关。此 NAT 网关将有多个静态 IP 地址,具体取决于数据区域。请参阅下表获取静态 IP 地址列表。
美国欧盟
35.197.29.14634.13.192.67
34.145.102.12334.147.105.64
34.169.45.15334.90.22.166
34.82.222.1734.147.36.213
35.227.171.13534.32.137.113
34.169.88.3034.91.238.184
34.19.93.20235.204.101.241
34.19.34.5035.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 实例。 多个部署可以共享同一个 PostgreSQL 实例。例如,对于 Deployment APOSTGRES_URI_CUSTOM 可以设置为 postgres://<user>:<password>@/<database_name_1>?host=<hostname_1>;对于 Deployment BPOSTGRES_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 实例。 多个部署可以共享同一个 Redis 实例。例如,对于 Deployment AREDIS_URI_CUSTOM 可以设置为 redis://<hostname_1>:<port>/1;对于 Deployment BREDIS_URI_CUSTOM 可以设置为 redis://<hostname_1>:<port>/212 是同一个实例中的不同数据库编号,但 <hostname_1> 是共享的。不能将相同的数据库编号用于不同的部署

LangSmith 追踪

LangGraph 服务器会自动配置为将跟踪发送到 LangSmith。有关每个部署选项的详细信息,请参阅下表。
混合自托管
必填
跟踪到 LangSmith SaaS。
可选
禁用跟踪或跟踪到 LangSmith SaaS。
可选
禁用跟踪、跟踪到 LangSmith SaaS 或跟踪到自托管 LangSmith。

遥测

LangGraph 服务器已自动配置为报告用于计费的遥测元数据。有关每个部署选项的详细信息,请参见下表。
混合自托管
遥测数据发送到 LangSmith SaaS。遥测数据发送到 LangSmith SaaS。用于空隙许可密钥的自报使用情况(审计)。
使用 LangSmith 许可密钥将遥测数据发送到 LangSmith SaaS。

许可

LangGraph 服务器已自动配置为执行许可证密钥验证。有关每个部署选项的详细信息,请参见下表。
混合自托管
LangSmith API 密钥已针对 LangSmith SaaS 进行验证。LangSmith API 密钥已针对 LangSmith SaaS 进行验证。空隙许可密钥或平台许可密钥已针对 LangSmith SaaS 进行验证。

以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.