如何在集群服务器环境中引用 Coldfusion 实例

How Do you Reference Coldfusion Instances in Clustered Server Environment

如果一台服务器上有多个Coldfusion实例,在集群服务器环境下,如何引用呢?例如,如果我们有多个服务器,并且我们想找出我们正在通过网络调用访问的服务器,我们可以使用#CGI.Server_Name#,它会给出我们正在访问的服务器的 IP 地址。我要问的是我们如何知道我们在给定服务器上使用的是哪个 Coldfusion 实例。

我使用的两种方法是在响应中包含一个 HTTP header,或者一个输出服务器名称的 HTML 注释,以便您可以使用调试工具查看它。

不,关于你关于 实例 的具体问题,你还没有说你使用的是什么 CF 引擎,所以我不能保证这段代码会适用于所有版本,但这是我过去在 JRun-based 版本的 Adob​​e ColdFusion 上使用的:

instanceName = createObject("java", "jrunx.kernel.JRun").getServerName();

这适用于较新的 Tomcat-based 版本的 CF (10+)

instanceName = createobject("component","CFIDE.adminapi.runtime").getinstancename();

这是我在Railo/Lucee

上用过的
instanceName = getRailoId().server.id;
instanceName = getLuceeId().server.id;

要作为评论输出,请将类似这样的内容添加到布局的顶部。请注意,这只能用于返回 HTML 的响应,例如不能用于 JS。

<!-- CF Instance: #instanceName# -->

或像这样添加 HTTP header:

<cfheader name="CF-Instance" value="#instanceName#">