0

我目前正在开发一个系统来确保高性能、可用​​性和可扩展性;WebLogic 集成方案上的故障转移和崩溃恢复。

有人知道是否可以自定义 WebLogic 的本机心跳消息,以添加一些附加信息,例如当前 CPU 使用率和/或网络负载?

目的是允许使用该“自定义”信息的负载平衡算法,以避免因更多请求而使苦苦挣扎的服务器过载。

4

1 回答 1

2

据我所知,这是不可能的。首先,服务器实例使用心跳来通告它的可用性——并且仅是它的可用性——(通过监视心跳消息,集群中的服务器实例确定服务器实例何时发生故障)。其次,WebLogic 的负载平衡算法是不可插入的并且不使用心跳(至少不直接使用)。

因此,您可以使用:

  • 使用代理插件时 HTTP 请求的循环负载平衡。
  • EJB 和 RMI 对象的循环、基于权重(对于非同质集群)或随机负载平衡。

如果您想对 HTTP 请求使用(更高级的)基于负载的平衡策略,则必须使用另一种解决方案 - 很可能是硬件负载平衡器 - 支持该算法。

请注意,基于负载的策略并不是我经常看到的,即使对于大型网站也是如此。大多数时候,简单的循环算法可以提供非常令人满意的请求分布,从而实现资源的平衡利用。

于 2010-02-02T23:05:54.330 回答