对 Amazon EC2 上的 Weblogic 10gR3 RMI 服务器的负载平衡请求

2024-05-01

我正在参与开发一个分布式解决方案,基于RMI,并部署在多个Weblogic 10gR3(10.3.0.0)节点上。其中一个节点托管 RMI 服务器,其他节点通过外部 JNDI 提供程序访问它。在尝试通过添加额外的 RMI 服务器来改进我们的基础设施时,我们遇到了一些问题。

我们的基础设施的详细信息:
-RMI 服务器在托管服务器上的端口 7005 上运行。
-RMI 客户端通过远程 JNDI 提供程序访问它,该提供程序指向以下内容:t3://主机名:7005

我将发布到目前为止我们在创建额外的 RMI 服务器时所尝试的内容,以及为什么它不起作用:

1) 使用 Amazon ELB --> 这不是一个选项,因为它需要向整个互联网开放我们的运行时端口 (7005),这显然是一个安全缺陷。

2) 配置多端点 JNDI 提供程序(类似于:t3://hostname1:7005,hostname2:7005),这显然适用于 JMS 队列 --> 所有请求都定向到在 hostname1 上运行的 RMI 服务器,并且该应用程序实际上运行良好。然而,当故意使hostname1后面的服务器崩溃时,没有任何请求被定向到hostname2。 (他们应该被重定向吗?)

3) 使用软件负载平衡器,例如 HAproxy --> 在 HTTP 层进行平衡时,请求被解释为“t3 10.3.0.0”,从而导致 HAproxy 上出现 HTTP 502 错误。在 TCP 层进行平衡时,我们遇到了几个“丢失对象”错误,就好像单个 TCP 连接正在用于多个 HTTP 请求,并且在第一个请求终止后,后续请求无法访问远程对象(只是猜测)。

4)我们不愿意使用集群化的WebLogic环境。

5)我们没有考虑使用高级框架,例如spring 远程处理集群 http://code.google.com/p/spring-remoting-cluster/ yet.

有任何线索/建议吗?提前致谢!


看来我唯一的(安全)选择是将我的应用程序节点添加到 WebLogic 集群并通过集群平衡负载,或者在我的应用程序中执行重新设计。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对 Amazon EC2 上的 Weblogic 10gR3 RMI 服务器的负载平衡请求 的相关文章

随机推荐