应用程序延迟启动
应用程序延迟启动指的是在应用程序请求到达时,对已停用的动态集群的第一个应用程序服务器实例进行激活的过程。 由用户确定要停用并随后进行延迟启动的应用程序。 如果环境中动态集群数对节点数的比率很高,而且长期未对多个动态集群进行访问,请使用应用程序延迟启动。
应用程序延迟启动可用于通过随需应变路由器 (ODR) 进行路由的 HTTP 请求或 HTTPS 请求。 如果您使用,则应用程序延迟启动不可用智能管理用于网络服务器。 无法使用 Internet ORB 间协议 (IIOP) 和 Java™ 消息服务 (JMS) 请求,因为它们未通过 ODR 路由。 不要在运行会话启动协议 (SIP) 应用程序的动态集群上使用应用程序延迟启动。
应用程序延迟启动过程
要使宝贵资源可用于通过 ODR 路由请求的环境中的其他动态集群,可临时停用闲置的动态集群、停止所有服务器实例以及释放其他活动集群的宝贵资源。 稍后,当到达一个对某个已停用的集群的请求时,将激活该集群并至少启动一个服务器实例。 同时,当用户尝试访问服务器时,会显示 HTTP 错误代码 503(服务器不可用)页。 错误页将告知所请求应用程序正在启动并将很快重新提交请求。 可以配置 ODR 来显示包括 HTTP 元刷新标记的特殊错误页,以便浏览器可在某时间段后自动重新发送请求。
延迟启动控制器可监视动态集群的请求活动,这些动态集群在空闲时可停用并在请求到达时进行延迟启动。 对不活动动态集群的请求到达 ODR 时,延迟启动控制器将触发布置控制器以结束周期并启动该集群的实例。 延迟启动控制器还建议布置控制器何时停用不活动集群。
下图演示了延迟启动和布置控制器的活动流:

可以在自动方式下在动态集群上设置不活动超时,但是,如果在主管此服务器实例的计算机上不存在内存争用,那么在不活动期过后,应用程序布置控制器并不一定会停止实例。 只有在主机没有足够的内存来保持当前数目的服务器实例运行时,应用程序布置控制器才会利用不活动超时来停止动态集群实例。 除非绝对必要,或 proactiveIdleStop 在使用中,否则延迟启动控制器不会停止实例。 有关 proactiveIdleStop 定制属性的更多信息,请阅读“动态集群定制属性”。