我正在努力了解在heroku上处理SOA的最佳方式,我已经意识到,向自定义域发出请求会以某种方式变慢,或者所有请求都会通过互联网"发出"?
在以前的SOA项目中,我们有专门的托管,所以可以发出像http://blogs/
这样的请求(显然是在内部网络上)。我想知道heroku是否将*.herokuapp.com
请求视为"内部"。。。或者知道myapp.com
实际上是myapp.herokuapp.com
并在本地路由是否足够聪明,或者我是否完全忽略了这一点,事实上所有请求都是"外部"
您所询问的是有关internet请求如何工作的一般知识。
每当您向应用程序请求example.com
时,域名将首先使用所谓的DNS服务器转换为IP地址。
工作原理是这样的:无论你请求myapp.com还是myapp.heroku.com,你都会从特定的IP地址请求信息,你请求的域名将作为请求头的一部分传递。接收此请求的服务器将尝试在其内部记录中查找此域名并相应地处理请求。
所以结论是,无论你放myapp.com还是myapp.heroku.com,请求的速度都是一样的。
PS:由于heroku将在您运行的myapp.com的不同实例之间对您的请求进行负载平衡,因此这里的速度将取决于几个因素:您的应用程序响应的速度、您运行的实例数量和每个实例的平均负载,以及负载平衡器目前加载的量。但这肯定不会取决于你使用的域名。