我们有一个自定义的Java Web应用程序。 我们以不同的vps(不同的提供者,不同的位置)来设置它。 我们有例如:
Instance 1: http://server1/app1 Instance 2: http://server1/app2 Instance 3: http://server2/app3
每个实例都是独立自主的。 我们有这种情况的几个点,并将继续添加它们。
我的问题是关于DNSpipe理,因为我们想要将不同的子域映射到实例。
client1.mypp.com > http://server1/app1 client2.mypp.com > http://server1/app2 client3.mypp.com > http://server2/app3 clientN.mypp.com > http://anyserver/appN
现在我们手动将Alogging添加到DNSlogging,以将子域关联到IP。 我们将开发一些代码来使用DNS提供者的API来完成它。
这是最合适的方法吗? 我们是否应该使用某种代理? 我们希望有成千上万的不同服务器。 我对性能和可用性感兴趣。
最有效的方法是放弃对IP /端口的依赖,并在URL中使用某些东西来指导您正确的服务。
client1.mypp.com app1 http://server1/app1
client2.mypp.com app2 http://server1/app2
这可能是一个负载平衡器或反向代理。 参见,例如,nginx,haproxy,pound等

那么DNS不会对端口做任何事情。 所以即使你创buildAlogging,去client1.mypp.com也不会让你的浏览器进入8080端口。你将不得不浏览到client1.mypp.com:8080。
你想要的是在你的Java Web应用程序前面使用Apache或类似的东西。 使用Apache mod_proxy和使用VirtualHost你可以实现你想要的。
Apacheconfiguration示例:
<VirtualHost *:80> ServerName client1.mypp.com ProxyPass / http://server1:8080 ProxyPassReverse / http://server1:8080 </VirtualHost>