部署的Web应用程序中的动态URL更新

时间:2016-04-07 08:09:29

标签: java tomcat amazon-web-services servlets web-applications

  

我有什么?

使用sendRedirect

进行相互通信的两个Web应用程序
  

我想要什么?

在AWS上部署这些网络应用

  

问题

1)当我将一个Web应用程序部署到AWS时,我没有第二个Web应用程序的URL,因为它尚未部署。我必须指定第二个Web应用程序的URL,以便第一个Web应用程序可以与第二个Web应用程序通信。 2)我最初无法部署第二个Web应用程序,因为它也会重定向到第一个Web应用程序(内部通信),即如果我部署第二个Web应用程序,最初问题仍然存在,因为我没有第一个Web应用程序的URL

  

直接解决方案

1)使用第二个Web应用程序的虚拟URL部署第一个Web应用程序。 (这里我会得到第一个网络应用的实际网址) 2)使用第一个Web应用程序的实际URL部署第二个Web应用程序(这里我将获得第二个Web应用程序的实际URL) 3)使用第二个Web应用程序的实际URL更新第一个Web应用程序并重新部署第一个Web应用程序

以上解决方案耗时且需要返工。

  

有没有有效的方法可以动态更新网址   用于Web应用程序,无需重新部署应用程序

1 个答案:

答案 0 :(得分:1)

Don't know the knitty gritty details on how it can/should be implemented exactly but I would look for a kind of publish/subscribe mechanism in which both Web servers are initially booted and listening for each other. The web server remains pending until it receives a notification the other is ready to receive messages. When one of the web servers is ready to receive messages it will publish a notification. Once the other web server is ready it will receive the notification (containing the URL at which it can be received) and publish also a notification that it is ready to receive messages.

Another possibility would be create load ballancers for both web servers at a fixed address. When the web server is started it will be added to the load ballancer hiding where the server exactly is deployed.

Hope this makes sense to you.