负载平衡要求在Amazon EC2在WebLogic 10gR3 RMI服务器 [英] Load balancing requests to a Weblogic 10gR3 RMI server on Amazon EC2

查看:148
本文介绍了负载平衡要求在Amazon EC2在WebLogic 10gR3 RMI服务器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我参与分布式解决方案基于RMI的发展,以及部署在多Weblogic的10gR3(10.3.0.0)节点。其中一个节点承载RMI服务器,以及其它节点通过外JNDI提供访问。虽然试图通过增加额外的RMI服务器,以改善我们的基础设施,我们面临着一些问题。

I am participating in the development of a distributed solution, based on RMI, and deployed on multiple Weblogic 10gR3 (10.3.0.0) nodes. One of the nodes hosts a RMI server, and other nodes access it through a foreign JNDI provider. While trying to improve our infrastructure by adding additional RMI servers, we faced some issues.

详细信息:
-RMI服务器是受管服务器上运行,在端口7005
T3:-RMI客户通过远程JNDI提供指向类似访问//主机名:7005

Details of our infrastructure:
-RMI server is running on a managed server, on port 7005.
-RMI clients access it through a remote JNDI provider which points to something like: t3://hostname:7005

我张贴我们已经试过到目前为止,在创建额外的RMI服务器,为什么没有奏效:

I am posting what we've tried so far, upon creating additional RMI servers, and why it did not work:

1)使用Amazon ELB - >这是不是一种选择,因为它需要开放我们的运行端口(7005),以整个互联网,这显然是一个安全漏洞

1) Using Amazon ELB --> this is not an option because it requires opening our runtime port (7005) to the whole Internet, which would obviously be a security flaw.

2)配置多端点JNDI供应商(类似:T3://主机名1:7005 1,主机名:7005),这显然适用于JMS队列 - >所有的请求定向到RMI服务器上运行主机名1,而实际上该应用程序工作正常。然而,当故意使后面主机名1崩溃的服务器,没有请求被定向到主机名2。 (如果他们都被重定向?)

2) Configuring a multi-endpoint JNDI provider (something like: t3://hostname1:7005,hostname2:7005), which apparently works for JMS queues --> all of the requests were directed to the RMI server running on hostname1, and the application in fact worked fine. However, when deliberately making the server behind hostname1 crash, no requests were directed to hostname2. (Should they be redirected at all?)

3)利用软件负载平衡器,如HAProxy的 - >平衡通过HTTP层时,请求正在PTED为T3 10.3.0.0跨$ P $,所以导致HTTP 502错误在HAProxy的。当平衡通过TCP层,我们得到了几个丢失的对象的错误,就好像单个TCP连接已被用于几个HTTP请求,而第一个被终止后,在随后的请求不能够访问远程对象(只是猜测)。

3) Making use of a software load balancer, such as HAproxy --> when balancing over the HTTP layer, the requests were being interpreted as "t3 10.3.0.0", thus resulting in a HTTP 502 error on HAproxy. When balancing over the TCP layer, we got several "missing object" errors, as if a single TCP connection was being used for several HTTP requests, and after the first one was terminated, the subsequent requests were not able to access the remote objects (just guessing).

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

4) We were not willing to use a clustered WebLogic environment.

5)我们没有考虑高层框架的使用如弹簧远程集群的呢。

5) We did not consider the usage of high-level frameworks like spring-remoting-cluster yet.

任何线索/建议吗?在此先感谢!

Any clues/suggestions? Thanks in advance!

推荐答案

看来只有我的(安全)选项要么加入我的应用节点到WebLogic集群,并通过集群平衡负载,或在我的应用程序进行了重新设计。

It seems my only (safe) options are either adding my application nodes to a WebLogic Cluster and balance the load through the cluster or perform a redesign in my application.

这篇关于负载平衡要求在Amazon EC2在WebLogic 10gR3 RMI服务器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆