想将此作为关于 API 的评论添加到 Andy 的答案中,但不幸的是没有足够的声誉来做到这一点。据我了解,Cloud Foundry 确实没有特定的 API,但它通过环境变量(例如VCAP_SERVICES, VCAP_APPLICATION, VCAP_CONSOLE_IP, VCAP_APP_PORT
)提供了许多有用的信息,可以从任何语言或框架访问。虽然来自此类变量的大量信息是 Cloud Foundry 内部的,但其中一些可能非常有用。主要的是VCAP_SERVICES
提供有关服务的信息,这些信息绑定到您的应用程序。
例如,如果我想收集有关我的应用程序当前正在运行的 Azure 云服务实例的信息(例如,它的 ID),我将使用Azure 管理库中的此类。
Cloud Foundry 反过来提供 VCAP_APPLICATION 环境。变量,它将包含以下字段:
{"application_users": [],
"instance_id":"97467a9cf508cb75273284b948b6319b",
"instance_index":1,
"application_version":"330b7caf-50e5-48f4-8792-1c80a90b06f1",
"application_name":"helloworld",
"application_uris":["helloworld.vcap.me"],
"started_at":"2013-07-22 10:58:16 +0300",
"started_at_timestamp":1374479896,
"host":"0.0.0.0",
"port":61014,
"limits":{"mem":256,"disk":1024,"fds":16384},
"version":"330b7caf-50e5-48f4-8792-1c80a90b06f1",
"name":"helloworld",
"uris":["helloworld.vcap.me"],
"users":[],
"start":"2013-07-22 10:58:16 +0300",
"state_timestamp":1374479896}
最后,谈谈日志、监控和诊断。这目前没有在 CF PaaS 级别上实现,但是我希望这将被实现(因为它是一个非常有用的功能),也许还有一些新的环境。变量(比如VCAP_LOGS, VCAP_PERFORMANCE_COUNTERS
)将暴露给我们的应用程序。