NATS 执行引擎(我们通常简称为 Nex)是 NATS 的一个可选附加组件,它叠加在您现有的 NATS 基础设施之上,使您能够部署和运行工作负载。
构建以 NATS 作为核心的应用程序已经为我们提供了大量的开箱即用功能,包括消息通信、全球覆盖范围、可靠性,以及流、键值存储和对象存储等附加服务。然而,在 Nex 出现之前,我们还无法将该基础设施用作一种 部署目标。
{% hint style="warning" %}
NATS 执行引擎目前处于 实验阶段。文档、功能集和任何 API 都可能会频繁发生变化。
请留意本翻译最后更新时间,并在需要时看最新的英文版。
{% endhint %}
虽然您可以使用 Nex 构建几乎任何类型的应用程序,但其核心构建模块由两种基本类型的工作负载组成:服务 和 函数。
在 Nex 的上下文中,一个 服务(service)只是一个长时运行的进程(long-running process)。当它被部署时,会以给定的环境启动,并持续运行直到终止。典型的服务型工作负载示例包括 Web 服务器、单体应用、API 端点,以及需要长时订阅 NATS 主题的应用程序。
默认情况下,安全的 Nex 服务采用静态链接的 64 位 Linux(elf)二进制文件,但您也可将原生的 Mac 或 Windows 二进制文件作为服务运行,并可自定义用于 Firecracker 沙盒的根文件系统。对 OCI(例如 Docker)镜像的支持即将推出。
Nex 函数(functions) 是短暂存在的进程。它们在响应某些触发事件时执行,能够处理触发事件的数据,并可选地提供返回值。Nex 函数体积小巧,既可作为 JavaScript 函数部署,也可作为 WebAssembly 模块部署。