開發生態
Cloudflare Workers 據報支援入站 TCP,gRPC 首個建置協定仍處私有測試
AI 前線單一來源
核實資料不足
目前依單一來源整理,這是來源數量描述,不是對消息真假的判定。
本次未取得足夠原文證據
據 AI 前線報導,Cloudflare Workers 新增入站 TCP 連線能力,首個建置在此基礎上的協定是 gRPC;相關功能目前仍須填寫表單申請私有測試,尚未全面可用。自 2017 年推出以來,Workers 原先只能建立連往資料庫或其他服務的出站 Socket,並以 HTTP 伺服器形式運作。
新的 Socket 處理器可接收原始入站 Socket,透過 Cloudflare 的 Spectrum 路由至 Worker。Worker 能直接讀寫 Socket、將其傳給另一個 Worker,或交由 Durable Object 處理;Durable Object 也能透過 getTcpPort() 將 Socket 傳給 Container,建立完整雙向通訊路徑。Cloudflare 提供的範例包括無須修改即可執行的 Go gRPC 回顯伺服器與 Python socketserver,宣稱這套能力可支援任意程式、語言與 TCP 協定。
不過,Workers 本身目前只能提供一元及伺服器串流 gRPC 服務,也能呼叫外部 gRPC 伺服器,不支援雙向串流。其實作不是原生 gRPC,而是由開發者使用 gRPC-web,Cloudflare 將傳入的 gRPC 轉換為 gRPC-web,再把傳出的 gRPC-web 轉回 gRPC;若要使用完整雙向通訊,仍須透過 Container。文章指出,這項限制與 Web 平台 API 未暴露 HTTP/2 流層級控制有關,而 gRPC 的串流、取消、流量控制與尾部中繼資料都依賴這類控制。
現有使用 grpc-swift-2 或 grpc-kotlin 的行動應用程式據稱無須修改即可連線,Workers 也能部署在既有 gRPC 後端前方;伺服器端則可使用開源的 @connectrpc/connect 套件。報導同時提到,官方尚未回應開發者對 gRPC 串流回壓控制是否足夠的疑問。
Cloudflare 表示,功能目前維持私有測試,是因為公司內部使用 Cap'n Proto、Cap'n Web 與 Workers 內建的 JavaScript 原生 RPC 系統,而非 gRPC,期望先與少量 gRPC 開發者合作確認實作後再全面開放。報導也指出,Cloudflare 官方社群宣傳文案稱 gRPC 支援「現已可用」,並宣稱可在邊緣原生提供 gRPC 服務;這與公告所述須申請私有測試、且 Workers 仍透過 gRPC-web 轉換的範圍並不一致。Cloudflare 表示下一步將支援 UDP 協定。
讀原始報導