Skip to content
目录

传输层设计

Transport 抽象「如何发 A2A 调用」;同一套 Client/Server 逻辑可跑在 JSON-RPC、HTTP+JSON(REST)、gRPC 上,流式常用 SSE


1. Transport 接口(语义)

  • sendMessagegetTaskcancelTask
  • supportsStreaming
  • 序列化/反序列化与 协议版本 绑定

2. JSON-RPC Transport

特点说明
负载JSON-RPC 2.0
适用默认、易调试
流式常配合 SSE 端点

3. HTTP + JSON (REST) / ProtoJSON

特点说明
路径RESTful 资源风格
序列化ProtoJSON 与 a2a.proto 对齐
适用网关、现有 HTTP 基础设施

4. gRPC Transport

特点说明
性能二进制、强类型
适用服务间、高吞吐

5. SSE 流式

  • 服务端推送事件流。
  • 解析器按行/事件切分,不依赖 ReadableStream 默认 async iterator(见 06 决策)。
  • 断线重连由客户端策略处理。

6. 协议名大小写

注册传输时 大小写不敏感,减少配置错误。


7. 错误处理

HTTP 状态 + 协议 error 对象;解析失败 fail fast。


8. 总结

选传输 = 看 Agent Card 的 preferredTransport 与部署环境;业务代码保持 Transport 无关。

MIT License.