关于项目作业云端部署的疑问
来源:9-1 课程总结

Kysonleung
2021-07-07
老师我看你的演示是在阿里云买了个 1G 1 核共享型的服务器,但是我看整个课程的项目要部署的容器有好多:
- 5 的 MySQL 的容器;
- 2 个 Keepalived + Haproxy 容器双机热备,同时做数据库的负载均衡;
- 6 个 Redis 的容器;
- 3 个后端 Java 的容器;
- 2 个 Keepalived + Nginx 容器双机热备,同时做后端 Java 的负载均衡;
- 3 个 Nginx 前端的容器;
- 2 个 Keepalived + Nginx 容器双机热备,同时做前端的负载均衡。
我现在有几个不懂的地方:
-
我算了一下课程的项目有 23 个 docker 的容器要部署,同时还要再本地跑 Docker 和 Keepalived,1G 1 核的机器应该吃不消吧,因为我没做过线上的部署,不知道怎么预算服务器的成本,老师你能不能给个购买服务器的方案?如果要部署这些容器需要买多少台云主机、要什么配置的?实在不知道服务器怎么购买……关于服务器购买这些有什么参考的资料吗?
-
同样业务的的服务,如果用 Java、Golang、Rust 来实现,构建 Docker 容器之后的体积差别好大,Java 和 Go 就算什么都不干也会有个 GC 的进程在活着占内存。容器是运行的时候是将整个容器的体积塞到内存里面,还是怎么使用内存的,比如课程项目里一个用 Java 做的后端服务,没有请求的时候会消耗多少内存和 CUP,请求达到上限之后会消耗多少内存和 CUP?而且有些用 Node.js 做的容器,一个 node_modules 就可能 1 个多 G 的体积。在这里,我一直没搞懂容器在运行时是怎么使用计算机资源的,是按照宿主机的进程管理机制进行调度和分配资源,还是按照容器里面的进程管理机制进行调度和分配资源,或者是 Docker 引擎自己实现了一套程序的调度算法,实在搞不懂……还有一个就是多个容器挂载和读写宿主机的同一个 Volume,会不会发生资源竞争或者直接死锁?
1回答
-
神思者
2021-07-07
至少要用3个以上的云主机部署,如果你资金紧张,那就用三个本地的虚拟机实例来部署效果也是一样的。
00
相似问题