Vercel News

Vercel Daemons can now call services with bindings

8.5内容质量

TL;DR · AI 摘要

Vercel Daemons现在支持通过服务绑定调用部署中的服务,简化内部通信并保持服务私有性。

核心要点

  • 在vercel.toml中通过[daemons.worker.bindings]声明服务绑定,指定目标服务和环境变量。
  • Daemons使用fetch调用绑定的服务URL,Vercel自动处理路由、认证和TLS。
  • 绑定单向生效,服务无法反向绑定到Daemons,实例始终调用启动它们的部署。

结构提纲

按章节快速跳转。

  1. 宣布Vercel Daemons支持通过服务绑定调用部署中的服务。

  2. 在vercel.toml中声明服务绑定的语法和参数说明。

  3. 展示worker.ts中通过fetch调用绑定服务URL的实现方式。

  4. Vercel自动处理绑定服务的路由、认证和TLS配置。

  5. 绑定仅从Daemons到服务,服务无法反向绑定。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Vercel Daemons服务绑定
    • 配置方式
      • vercel.toml语法定义
    • 使用场景
      • 跨服务HTTP调用
    • 核心特性
      • 自动路由处理
      • 单向绑定机制

金句 / Highlights

值得收藏与分享的关键句。

#Vercel#Serverless#服务绑定#Daemons
打开原文

Vercel 守护进程现在可以通过绑定调用服务 - Vercel

Vercel 守护进程现在可以通过服务绑定调用其部署中的服务。

在守护进程中声明绑定,指定目标服务名称和接收服务 URL 的环境变量:

vercel.toml

code
1
[
services.api
]
2
root
=
"api/"
3
entrypoint
=
"main:app"
4
5
[
daemons.worker
]
6
root
=
"worker/"
7
entrypoint
=
"Dockerfile"
8
instances
=
{
iad1
=
1
}
9
10
[
[
daemons.worker.bindings
]
]
11
type
=
"service"
12
service
=
"api"
13
format
=
"url"
14
env
=
"API_URL"

守护进程绑定 api 服务,以 API_URL 形式暴露给 worker

守护进程像调用其他 HTTP 端点一样调用该 URL。Vercel 处理内部路由、身份验证和 TLS,服务保持私有:

worker/worker.ts

code
1
await
fetch
(
new
URL
(
'jobs/next'
,
process
.
env
.
API_URL
)
)
;

通过普通 fetch 调用绑定的服务

绑定是单向的:服务无法绑定到守护进程。即使发生升级或回滚,每个实例仍会持续调用启动它的部署。

在文档中了解更多关于守护进程服务绑定的信息。