首页 文章

Google App Engine上的高并发系统

提问于
浏览
0

这是我的情况 . 我有一个托管在Google Cloud上的项目,更具体地说是GAE(NodeJS)和Firestore .

我有一个存储在Firestore上的队列,它最多可以有30到40,000个条目 .

每个条目基本上都是一个对象,我将不得不对外部服务进行api调用 .

该外部服务仅允许一个IP的10个请求/秒 .

目前,我拿了10个批次并为每个人拨打一个api电话,但它会慢下来 .

我已经尝试实例化GAE服务的多个实例,但我仍然遇到了限制(实例使用相同的IP?!) .

另一个选择是在 Cloud 函数中移动api调用并在那里点击它,但我认为我会打赌与GAE实例相同的结果 .

所以你怎么看 ?

非常感谢!

1 回答

  • 0

    在我看来,每个IP限制的每秒请求是为了限制传入请求的总量,并且游戏规则可能会导致该服务出现问题 . 处理这种情况的最佳方法是获得付费订阅或直接与服务提供商讨论问题 .

    关于App Engine实例和IP地址,简短的答案是:

    不,GAE实例没有自己的动态IP .

    有关更多参考,您可以在App Engine的FAQ中进行确认:

    App Engine目前不提供将静态IP地址映射到应用程序的方法 . 为了优化最终用户和App Engine应用程序之间的网络路径,不同ISP或地理位置的最终用户可能使用不同的IP地址来访问同一App Engine应用程序 . DNS可能会返回不同的IP地址,以便随着时间的推移或从不同的网络位置访问App Engine .

    tcptraceroute到谷歌服务显示以下点之一:

    lga34s14-in-f14.1e100.net
    

    根据Google Edge Network的描述:

    我们的边缘存在点(PoP)是我们通过对等连接Google的网络与其他互联网的地方 . 我们在全球90多个互联网交换机和100多个互连设施中 .

    To sum it up :您的应用程序应该退出Google 's network from the Edge Point closest to it'的目标,这是有意义的,它始终与相同的IP相同,并且从服务量和客户端应用程序GCP主机可以预期Google会使用反向代理 .

相关问题