

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 选择你的 n AWS IoT Greengrass ucleus 运行时间
<a name="choosing-your-runtime"></a>

从版本2.14.0开始， AWS IoT Greengrass 提供了其设备运行时的两种替代实现，一种名为nucleus的可执行文件。尽管实现方式有所不同，但这两个运行时都与该 AWS IoT Greengrass 服务兼容， APIs 并且允许您使用 Greengrass SDK 部署提供的组件 AWS 或开发自定义组件。同样也可以混合使用设备，根据需要在同一实例集中使用任一类型的 Nucleus。

但是，为了实现所需的可移植性或特定的省内存好处，必须确保在 Greengrass 设备上部署的 Nucleus 与打算用于加速 AWS IoT 解决方案开发的组件兼容。要了解有关组件兼容性的更多信息，请参阅[组件](https://docs.aws.amazon.com/greengrass/v2/developerguide/public-components.html)。

最终，如何在两个 Greengrass 运行时选项之间进行选择将取决于您的特定用例、设备限制、功能要求和操作系统。

## Greengrass Nucleus
<a name="w2ab1b6c19b9"></a>

AWS IoT Greengrass nucleus 是功能齐全的运行时，它使您能够在各种设备 AWS IoT Greengrass 上运行，包括具有更多计算资源的网关、服务器和边缘设备。在以下情况下，可以考虑选择 Greengrass 核：
+ **计算资源：**您的设备有足够的计算资源，例如超过 128 MB 的 RAM 和相对强大的处理器（例如，大于 1 个 GHz 时钟）。
+ **需要全面的操作系统支持：**Greengrass nucleus 支持最广泛的操作系统（包括大多数 Linux 发行版和 Windows）。
+ **组件兼容性：**Greengrass nucleus 与服务团队和合作伙伴发布的现有组件完全兼容。 AWS IoT 

## Greengrass Nucleus Lite
<a name="w2ab1b6c19c11"></a>

AWS IoT Greengrass nucleus lite 是一款轻量级的开源运行时，可让您在资源受限 AWS IoT Greengrass 的设备上运行。这对于具有大量应用程序的低成本单板计算机很有用，例如智能家居中心、智能电表、智能汽车、边缘人工智能和机器人。如果您的设备符合以下条件，可考虑选择 Greengrass Nucleus Lite
+ **资源受限：**您的设备资源有限，例如 RAM 内存（512 MB 或更小）、存储（FLASH）空间或低性能处理器（小于 1）。 GHz
+ **依赖性限制：**您的设备供应商软件平台不支持 Java 或 Greengrass 核心所需的特定 JVM。
+ **操作系统：**设备运行的是支持 *systemd* 的 Linux 发行版（例如：Ubuntu、Yocto）。

### Greengrass Nucleus Lite 当前的局限性
<a name="w2ab1b6c19c11b7"></a>

Greengrass nucleus lite 运行时提供了 Greengrass nucleus 中可用功能的子集。

 AWS IoT Greengrass IPC（进程间通信）机制允许组件与 Greengrass 核通信。Nucleus 的轻量级版本支持以下子集：


| 功能 | 可用性 | 
| --- | --- | 
|  SubscribeToTopic  |  可用  | 
|  PublishToTopic  |  可用  | 
|  PublishToIoTCore  |  可用  | 
|  SubscribeToIoTCore  |  可用  | 
|  UpdateState  |  暂不可用  | 
|  SubscribeToComponentUpdates  |  暂不可用  | 
|  DeferComponentUpdate  |  暂不可用  | 
|  GetConfiguration  |  可用  | 
|  UpdateConfiguration  |  可用  | 
|  SubscribeToConfigurationUpdate  |  可用  | 
|  SubscribeToValidateConfigurationUpdates  | 暂不可用。 | 
|  SendConfigurationValidityReport  | 暂不可用。 | 
|  GetSecretValue  | 暂不可用。 | 
|  PutComponentMetric  |  暂不可用  | 
|  GetComponentDetails  |  暂不可用  | 
|  RestartComponent  |  暂不可用  | 
|  StopComponent  |  暂不可用  | 
|  CreateLocalDeployment  |  可用  | 
|  CancelLocalDeployment  |  暂不可用  | 
|  GetLocalDeploymentStatus  |  暂不可用  | 
|  ListLocalDeployments  |  暂不可用  | 
|  ListComponents  |  暂不可用  | 
|  ValidateAuthorizationToken  |  可用  | 
|  CreateDebugPassword  |  暂不可用  | 
|  PauseComponent  |  暂不可用  | 
|  ResumeComponent  | 暂不可用 | 
|  GetThingShadow  | 暂不可用 | 
|  UpdateThingShadow  | 暂不可用 | 
|  DeleteThingShadow  |  暂不可用  | 
|  ListNamedShadowsForThing  | 暂不可用 | 
|  SubscribeToCertificateUpdates  |  暂不可用  | 
|  VerifyClientDeviceIdentity  | 暂不可用 | 
|  GetClientDeviceAuthToken  | 暂不可用 | 
|  AuthorizeClientDeviceAction  | 暂不可用 | 