![]() |
1
1
web后端应用程序中关于“不保持每个进程的全局状态”的警告(Django或任何wsgi应用程序都会遇到同样的问题)仅适用于希望在请求和进程之间共享的状态。 如果您可以拥有每个进程的状态(例如db connection通常是每个进程的状态),那么这不是问题。wrt/连接池,您可以(或不)决定每个服务器进程有不同的池是可以的。 对于任何其他情况(需要在进程之间共享的任何状态),这通常由某些使用外部数据库或缓存进程的进程处理,因此,如果要为所有Flask进程拥有一个单独的连接池,则必须使用不同的服务器进程来维护池。 还要注意:
实际上,这与“大”无关。对于传统的“阻塞”服务器,只能通过使用多线程或多处理来处理并发请求。由于各种原因,unix哲学传统上支持多处理(“prefork”模型),并且 Python's multithreading is bordering on useless 长话短说,考虑一下wsgi应用程序的任何生产设置 将 在后台运行多个进程。 |