我在不同的 AWS 服务器上有多个 Web 应用程序。它们通过 Web 服务进行通信。 https://myserver1.com https://myserver2.com https://myserver3.com
我知道如果我把所有应用程序都放在同一个服务器上,它们会继续正常工作。我从 app1 调用 app2(myserver2)中的 web 服务,它会正确响应。如果我从同一个服务器上的 app1 调用 app2,是否浪费时间检查 dns 服务器上的 dns 地址?或者通信是在服务器内部进行的?server1 知道 server2 也在同一台机器上?将“外部”url 映射到服务器内部的文件夹以避免流量进出是否更好?
谢谢
答案1
不太清楚你确切地询问。
我了解您正在从在两个不同的服务器上拥有应用程序的设置中转移,即。https://myserver1.com和https://myserver2.com,两个应用程序是否都位于同一台服务器上?
但是应用程序如何相互调用?它们是否仍使用地址https://myserver1.com和https://myserver2.com(现在只有域 myserver1.com 和 myserver2.com 指向同一台机器)?或者它们使用一个公共的http://myserver.com?或者他们在互相呼叫时是否使用 https://localhost?
除了最后一种情况,仍然必须执行 DNS 查找。DNS 查找后,服务器将知道域的 IP 地址分配给同一台计算机,因此应用程序之间的实际通信将发生在该计算机内部。但无论如何,首先必须咨询 DNS 服务器。
localhost
是一种特殊情况,因为该名称默认/etc/hosts
与 IP 地址一起列在文件中127.0.0.1
。文件中的名称/etc/hosts
会立即转换为相应的 IP 地址,而无需执行 DNS 查找。
因此,如果您想避免对 myserver1.com 和 myserver2.com(或单个 myserver.com,如果是这种情况)进行 DNS 查找,您可以将这些名称/etc/hosts
与相应的 IP 地址一起放入文件中。