运行时类型
服务使用三种运行时类型之一,通过其包元数据中的Type 设置:
wasm和grpc服务运行由服务提供的代码。它们在启动时会与内核完成一次身份握手,随后在运行期间使用内核 API 来声明和更新它们拥有的传输与路由。static服务完全不运行任何代码。它们在包清单中一次性、提前声明好自己的传输和路由,由内核直接提供服务。运行时类型的工作方式及使用场景请参阅 Static 服务。
传输与路由
服务的资源由两个相关的概念描述:- 传输(transport) 是服务拥有的一个端点:可以是静态文件来源、HTTP 处理程序,或是一个被代理的上游地址。
- 路由(route) 将一个 URL 模式绑定到服务的某个传输上,并携带该绑定的访问策略。
proxy 传输)请参阅传输。
通信
wasm 和 grpc 服务实现同一套协议;内核与服务如何通信请参阅协议。当服务需要共享的应用能力时,例如日志记录、键值存储、配置参数,或与另一个服务的服务间通信,可以使用内核的 Host API。
每个服务都由一份清单描述,其中包含名称、版本、运行时类型、契约版本等元数据,对于 wasm 和 grpc 服务而言,还包括用于启动它的命令。清单和运行时产物会被打包在一起,以便内核能够将服务作为一个整体发现并加载;包格式请参阅服务包。