java - 将负载均衡器绕过不同 Web 应用程序的特定服务器

标签 java http tomcat http-headers load-balancing

我在负载平衡环境中有 2 个网络服务器,两个网络服务器都在其 tomcat 服务器中部署了 2 个网络应用程序。两个不同的域名用于访问这两个 Web 应用程序。

我不得不在两个网络服务器中分别为两个网络应用程序重新加载一些东西,这让我感到震惊。所以我必须向每个网络服务器和每个网络应用程序发送 http 请求以重新加载(基本上我想绕过负载平衡器)。

有没有办法添加 HTTP header ,以便我可以在运行时将我的请求发送到特定的网络服务器以获取特定的域名?或者还有其他方法可以实现吗?

注意:此 HTTP 请求可以从部署在任何一个网络服务器中的 java 代码发送。所以基本上我们可以假设它是本地网络中网络服务器之间的通信。

最佳答案

IMO 这个问题很奇怪。
如果你有一个负载均衡器,这意味着你在 2 个后端服务器之间分配负载,即部署相同应用程序并且必须一致,这意味着两个部分必须具有完全相同的数据库(因为相同客户端可以在一个连接中由一台服务器提供服务,也可以在下一个请求中由另一台服务器提供服务,这也取决于负载均衡器的配置。
所以在这种情况下,由于两个部分应该同步并且数据库本质上镜像如果您发送具有特定解释​​的特定请求,则哪个服务器接收它并不重要.另一台服务器应该也明白这个请求是因为数据是镜像的。
IE。只需在数据库中进行特定更新,并让服务器在数据库更新在另一台服务器中可见时立即重新加载。
除非你没有使用负载均衡器或者你没有正确使用它......

并回答您如何绕过负载均衡器的问题。当您使用负载均衡器时,您可以使用“指向”负载均衡器的虚拟 IP 或特定域名,并且负载均衡器会重定向到可用服务器。因此,如果您直接使用服务器的 IP 而不是负载均衡器的 IP,则可以绕过负载均衡器。

关于java - 将负载均衡器绕过不同 Web 应用程序的特定服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13090082/

相关文章:

angularjs - Angular $http 状态 (-1)

java - 使用 Tomcat 通过 Maven 部署 Eclipse WebApp 会导致错误 : 'Failed to deploy application at context path'

java - Checked Exception 2种行为

Java 服务包装器为 Java UI 应用程序创建服务

http - 控制台错误。加载资源失败:net::ERR_INSECURE_RESPONSE

php - 通过 Chemistry in PHP 从 Alfresco 下载文件

java - 如何在 Vaadin 中执行 j_security_check 用户凭据检查?

tomcat - 如何从tomcat重定向到jboss

java - 使用 Post @Consumes(MediaType.ApplicationJson) 隐式解析 LocalDate

java - 当我打印出arraylist的索引时如何删除最后一个逗号