区分 Mesos 上的缩放应用程序

Tell difference of a scaled app on Mesos

我在 Mesos Docker 中 运行 服务器应用程序,一些应用程序被扩展到多个实例。当我在应用程序内部收集数据时,我希望该应用程序能够存储某种类型的标识符,以便稍后当我读取数据时,我知道它是从哪个应用程序收集的。例如,我在 mesos 上将一个应用程序扩展到 3 个实例,并且从数据中,我想读取数据来自 app_1、app_2 或 app_3。我想过使用主机 IP,但那些扩展的应用程序有时会在同一个节点内生成。我不能使用 pid 之类的东西,因为它会在应用程序重新启动时发生变化。

因此我尝试阅读是否有环境变量可以帮助我区分它们,但它们在整个平台上都是相同的,除了HOSTNAME,所以我想知道是否有其他想法。非常感谢。

您可以为此使用 MESOS_TASK_ID 任务级环境变量,有关详细信息,请参阅 Marathon docs。另请注意,一个 Marathon 应用程序实例对应于一个 Mesos 任务。