我是一名开发人员,对服务器配置有些疑虑。我们有一台新服务器,配备双 Xeon CPU、128 GB RAM 和 4 TB SAS SSD。我们必须运行一些 Web 应用程序。
- Rails App(NGINX、Puma、Postgres、Redis、ElasticSearch)——流量非常大
- Rails App(NGINX、Puma、Postgres、Redis)- 中等流量
- Rails App(NGINX、Puma、Postgres)- 低流量
- Python 应用程序(NGINX、Mongo DB、Gunicorn、Redis、ElasticSearch)- 流量极低
- Php 应用程序 (NGINX、PHP、Postgres) - 低流量
我不确定哪种方式是配置我的服务器和共享资源的最佳方式。
我想为 python 应用程序和 php 应用程序前端创建一个虚拟机,因为它们是流量非常低的应用程序。
然后是数据库的虚拟机(Postgres、Redis、Mongo DB)
Elastic Search 的虚拟机
最后是带有 rails 应用前端的虚拟机。
那使用 docker 怎么样?我是否必须调整每个应用程序以使其 docker 化?
答案1
虚拟机和容器都是很好的解决方案。
尽管 Docker 更轻量。但在这里我宁愿考虑我知道什么?如果你必须从头开始学习 Docker 化,那么这么大的项目可能不适合,这取决于你的时间表。利用你在虚拟化方面的知识,按照这种方式去做。
我是否必须调整每个应用程序以使其docker化?
您可以为每个应用程序配置一个 docker-compose。准备一些镜像(Nginx、elasticsearch、postgres 等)并在您的应用程序上重复使用它们。
但同样,这可能需要做很多工作。如果你有时间,那就去做吧,否则,就用你所知道的。