0

我有一个 AppHarbor 应用程序,我将其用作外部服务,我的其他使用 Google App Engine (python) 的服务器将请求该应用程序。appharbor 应用程序基本上被 ping 了很多,以处理我发送的一些数据。

因为我会不断地 ping 服务,而且时间很重要,所以是否可以通过其 IP 地址而不是主机名来引用我的 appharbor 应用程序?基本上我想消除必须进行 DNS 查找并加快响应速度。

我正在使用 Google App Engine 的 urlfetch ( https://developers.google.com/appengine/docs/python/urlfetch/overview ) 来执行请求。是否缓存了 urlfetch 已经在幕后做的事情?如果没有,是否可以这样做?

4

3 回答 3

1

我怀疑 DNS 查找将成为您的瓶颈,但无论如何我可以看到 DNS 查找被系统缓存(至少对于 TTL)。

于 2013-01-31T19:28:12.473 回答
1

理论上,您可以将请求直接发送到 IP 地址,但您还必须传递主机标头,以便 AppHarbor 路由层可以确定哪个应用程序收到了请求。

正如 Shay 所提到的,您不应该这样做 - DNS 查询被缓存并且不太可能成为瓶颈,并且您正在为自己设置损坏,因为 IP 地址可能会随着指向新 IP 的域而改变。

于 2013-01-31T20:27:32.307 回答
0

注册 AppEngine Sockets Trusted Tester(在这里)并使用普通的 python:

socket.gethostbyname(...)
于 2013-01-31T19:04:08.647 回答