对于Go如何处理Google App Engine上的并发请求,我有些困惑。所以我希望有人可以提供一些清晰度。
这是我收集的事实:
-
Go是App Engine上的单线程。 -这是因为可以通过创建具有多个线程的竞争条件来执行任意指针算术
-
[App Engine有10个并发限制] [该限制是通过限制每个运行时上的并发线程来实施的。在大多数此类情况下,我们的调度程序将尝试启动一个新实例。
如果Go在App Engine上是单线程的,则第3点无意义。剩下的1和2。如果Go on App Engine是单线程的,并且需要线程在阻止I / O时继续执行,那么看来App Engine Go实例将在等待I / O时阻止所有goroutine。
这样对吗?如果不是,那么Go的并发在App Engine上如何真正起作用?
帮助量化事物。如果我要保持连接打开30秒钟。单个AE Go实例如何维护并发连接?
谢谢。
编辑:这是功能请求,它将允许Go Instance处理超过10个并发请求并允许每个实例并发请求的可配置限制。请加注星标。