我目前正在开发一个系统来确保高性能、可用性和可扩展性;WebLogic 集成方案上的故障转移和崩溃恢复。
有人知道是否可以自定义 WebLogic 的本机心跳消息,以添加一些附加信息,例如当前 CPU 使用率和/或网络负载?
目的是允许使用该“自定义”信息的负载平衡算法,以避免因更多请求而使苦苦挣扎的服务器过载。
我目前正在开发一个系统来确保高性能、可用性和可扩展性;WebLogic 集成方案上的故障转移和崩溃恢复。
有人知道是否可以自定义 WebLogic 的本机心跳消息,以添加一些附加信息,例如当前 CPU 使用率和/或网络负载?
目的是允许使用该“自定义”信息的负载平衡算法,以避免因更多请求而使苦苦挣扎的服务器过载。
据我所知,这是不可能的。首先,服务器实例使用心跳来通告它的可用性——并且仅是它的可用性——(通过监视心跳消息,集群中的服务器实例确定服务器实例何时发生故障)。其次,WebLogic 的负载平衡算法是不可插入的并且不使用心跳(至少不直接使用)。
因此,您可以使用:
如果您想对 HTTP 请求使用(更高级的)基于负载的平衡策略,则必须使用另一种解决方案 - 很可能是硬件负载平衡器 - 支持该算法。
请注意,基于负载的策略并不是我经常看到的,即使对于大型网站也是如此。大多数时候,简单的循环算法可以提供非常令人满意的请求分布,从而实现资源的平衡利用。