【发布时间】:2020-06-04 12:27:32
【问题描述】:
我有一个应用程序,它的微服务很少,如下所示
- python microservice - runs as a Docker container on port 5001, 5002, 5003, 5004, 5005
- nodejs microservice - runs as a Docker container on runs on port 4000
- mongodb - runs as a Docker container on port 27017
- graphql microservice - runs as a Docker container on port 4000
- 我需要澄清以下选项
选项 1:
Is it correct to configure nginx as a reverse proxy for each application so that I want to run each microservice on port 80
i.e * python microservice docker container + nginx
* nodejs microservice docker container + nginx
* mongodb microservice docker container + nginx
* graphql microservice docker container + nginx
选项 2:
or should I configure a single nginx instance and setup upstream for python application, nodejs application and mongodb ?
ie python + nodejs + mongodb + graphql + nginx
注意:在 OPTION 2 中,只有一个 nginx 实例正在运行,而对于 OPTION 1,每个微服务都有一个 nginx 实例在运行。哪种模式是正确的 OPTION 1 或 OPTION 2 ?
- 将 mongodb 容器化并暴露在 80 端口上是否正确?
【问题讨论】: