Http 在heroku上托管时,对api.myapp.com的请求会比对api-myapp.herokuapp.com的请求慢吗?

Http 在heroku上托管时,对api.myapp.com的请求会比对api-myapp.herokuapp.com的请求慢吗?,http,networking,heroku,soa,Http,Networking,Heroku,Soa,我正在试图理解在heroku上处理SOA的最佳方法,我已经想到,向自定义域发出请求会以某种方式变慢,或者所有请求都会通过internet“发出”吗 在以前的本质上是SOA的项目中,我们有专门的托管,因此可以发出类似http://blogs/(显然是在内部网络上)我想知道heroku是否将*.herokuapp.com请求视为“内部”。。。或者知道myapp.com实际上是myapp.herokuapp.com并在本地路由是否足够聪明,或者我完全没有抓住要点,事实上所有请求都是“外部的”您所问的是

我正在试图理解在heroku上处理SOA的最佳方法,我已经想到,向自定义域发出请求会以某种方式变慢,或者所有请求都会通过internet“发出”吗


在以前的本质上是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的不同实例之间对您的请求进行负载平衡,因此这里的速度将取决于几个因素:您的应用程序的响应速度、您正在运行的实例数量以及每个实例的平均负载量、负载均衡器目前的负载量。但这肯定不取决于您使用的域名。

我开始怀疑这一点,因此理论上,请求速度将与同一区域中的任何ec2>ec2请求一样快?如果请求是从heroku服务器发送的,它将不会离开该网络,因为将有一个名称服务器可以找到您请求的URL(对于
*.heroku.com
)。但是为了解决
myapp.net
问题,如果URL的DNS不是网络,它会尝试在网络之外找到它。非常感谢各位,我想我是被heroku的一些“层”,特别是“路由网格”甩了这让我很困惑。@Craigtmakenzie请记住网络延迟。在一个网络中发生的一切都足够快,如果你需要穿越半个地球,那么就会有地理延迟。这就是为什么我们没有选择heroku,而是在AWS EC2上拥有我们的私有基础设施,因为这样我们就可以控制服务器的位置因此可以使用基于延迟的负载平衡。但如果此应用程序的所有组件都托管在同一区域(区域?)内的ec2上,则延迟应该是一致的且最小的(注意事项除外),对吗?只有当api2.myapp.com位于地球另一个网络的一半时,才会出现问题?