

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

# 使用农场、队列和队列隔离工作负载
<a name="farm-structure"></a>

您可以通过多种方式安排 Deadline Cloud 农场、舰队和队列。您选择的安排设定了工作负载之间的隔离界限，因此在构建之前，请先决定您的团队、节目或客户需要多大的分离。

关于舰队的两个事实推动了这一决定：
+ 当一个队列与多个队列关联时，所有这些队列中的任务将在同一个工作器主机上运行。作业运行后，数据可以保留在主机上，例如临时目录或队列用户主目录中的文件，并且作业可以让以后的作业可以观察到的进程继续运行。

  其中一些数据仍然是设计使然。作业可以在作业用户的主目录下缓存数据，以便以后的会话重复使用这些数据。例如，conda队列环境在那里缓存下载的软件包。在服务管理队列上，所有作业都以一个用户身份运行，因此队列中的每个队列共享这些缓存。缓存的数据会一直保留到工作人员关闭，或者当队列使用永久存储器时，缓存的数据会一直保留。有关更多信息，请参阅 Deadl * ine Cloud 开发者指南[中的](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/build-jobs-scheduling.html#jobs-scheduling-sessions)会话*和 Deadl * ine Cloud 用户指南[中的](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/volumes.html)永久存储*。
+ 工作主机以操作系统用户身份运行作业。在客户管理的队列中，您可以为每个队列分配自己的用户，这样队列就可以共享队列，同时他们的任务文件和流程保持分离。在服务管理队列中，所有任务都以单个用户身份运行，因此为需要分离的队列提供自己的队列。在这两种情况下，主机都只运行农场队列中的作业。

考虑到这些事实，选择适合您的隔离需求的安排：
+ **独立的农场 ** — 一个农场不与其他农场共享 Deadline Cloud 资源，例如队列、队列和存储配置文件，因此单独的农场可将工作负载分离得最为严格。折衷方案是需要更多的资源来建立和管理，以及一个农场无法借给另一个农场的工人能力。在农场之间共享外部 AWS 资源（例如 Amazon S3 存储桶）会削弱边界，因此请让每个农场拥有自己的资源。
+ **一个农场，每个队列都有一个队列 ** — 需要彼此分离的队列都有自己的队列，因此他们的工作永远不会共享员工主机。您可以保留一个要管理的农场，并且可以将监控用户的范围限定到每个队列。有关界定用户范围的更多信息，请参阅《Deadl * ine Cloud 用户指南*》[中的](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/managing-users.html)管理用户。折衷方案是分区容量：一个队列中的闲置员工无法接管另一个队列的工作。
+ **一个农场，队列共享车队 ** — 共享车队为您提供最简单的设置和最佳的员工利用率。由于队列共享工作人员主机，因此将共享队列的所有队列视为一个安全边界。在客户管理的队列中，您还可以为每个队列指定一个不同的操作系统用户，以将任务流程和文件彼此分开。

无论选择哪种安排，都应将资源共享保持在安全范围内：
+ 仅在相同安全边界内的队列之间共享 Amazon S3 存储桶和任务附件的根前缀。有关更多信息，请参阅 [保护作业附件和软件存储桶](job-attachment-queues.md)。
+ 仅在相同安全边界的队列之间共享操作系统用户。有关更多信息，请参阅 [以专属操作系统用户身份运行作业](job-run-as-user.md)。
+ 将相同的边界应用于您集成到农场中的任何其他 AWS 资源，例如共享文件系统。