scoful
25
scoful 258 天前
1. 有人提到说用 k8s ,个人觉得个人项目使用这种重型管理工具,都是在浪费宝贵的个人服务器资源,运行起来 k8s ,就没剩下多少可以部署项目的资源了,就算是 k3s 或 rancher 也一样,除非是企业项目,有大把资源可以投入 CI/CD
2. 你这个项目看说明应该不是微服务,那扩容就简单粗暴使用 nginx 分流一下,起多几个后端服务
3. 这里面最需要考虑的是你的中间件,redis ,rabbitMQ ,mysql ,这 3 个到底要自己做高可用还是用云服务,还是前面的逻辑,自己做高可用配置的话,又占用了一堆个人服务器资源,如果项目刚起步的时候,其实很浪费
4. 如果只是前期验证业务逻辑的话,可以直接把 3 个中间件和后端服务直接编排进一个镜像里,然后用宿主机挂载数据目录的方式。这样就是 2 个镜像,1 个管理后台的,1 个 c 端的。
5. 使用云数据库,和你本地数据库连接的用法一样的,至于跟 docker ,就是挂载目录,挂载配置文件
6. 宿主机自己部署中间件,肯定有丢数据的风险,只是这个几率不高,如果担心,就是花钱买云厂商的服务
7. 分享一下我自己的项目,我是前端一个镜像,后端一个镜像,redis 一个镜像,mysql 一个镜像,然后使用 docker-compose 编排启动顺序,代码存在 github 私人项目里,然后在 github 里配置 action 脚本,每次我推送代码后,自动打包成新的镜像,然后我最后再去服务器上停了已经启动的服务,再手动修改一下 docker-compose 里的镜像标签,然后重启,就完事了,打包的镜像我推送到阿里云免费的空间里。属于半自动。