IP地址作为AppHarbor / App Engine urlfetch的主机名,用于缓存DNS查找

时间:2013-01-31 18:52:53

标签: python google-app-engine dns urllib2 appharbor

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

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

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

3 个答案:

答案 0 :(得分:1)

我怀疑DNS查找会成为你的瓶颈,但无论如何,只要我能看到DNS查找被系统缓存(至少对于TTL)。

答案 1 :(得分:1)

理论上,您可以将请求直接发送到IP地址,但您还必须pass the host header,以便AppHarbor路由层可以找出应用程序获取请求的内容。

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

答案 2 :(得分:0)

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

socket.gethostbyname(...)