DispatcherMiddleware访问本地/远程服务器上的分布式应用程序

时间:2017-03-13 16:38:15

标签: python web-applications flask architecture middleware

我正在尝试在本地运行Flask应用程序,该应用程序还需要访问在本地网络上的远程服务器上部署的单独Flask应用程序上运行的资源。我认为在本地使用DispatcherMiddleware层可能是可能的,因此,基于以下示例:

这两个示例都要求DispatcherMiddleware层(在本地运行)可以访问组成应用程序(可能位于远程服务器上),例如:

from app import app as app1
from app2.app import app as app2
from app3.app import app as app3

application = DispatcherMiddleware(app1, {
    '/app2':    app2, ##may be remote
    '/app3':    app3  ##may be remote
})

在给定分布式应用程序的情况下,是否有任何方法可以实现此模式,而不是创建网络共享,安装到远程服务器的路径并通过网络共享导入?

1 个答案:

答案 0 :(得分:0)

DispatcherMiddleware用于为多个WSGI应用程序(如Flask)提供一个WSGI服务器(如Gunicorn)。 WSGI服务器运行应用程序,Web服务器(如Nginx)将请求传递给WSGI服务器。

如果您的应用是分发的,那么它们将在自己的计算机上运行。 WSGI服务器(以及一般的软件)无法在其他计算机上运行。使用DispatcherMiddleware对此毫无意义。