话说,你们是先达到软件的极限还是先达到硬件的极限?
所有的需求都要量化,搞清楚数据,我再给你说架构。
如果只能单机,除数据库单机外,别的 docker。
你那东西的架构,一台 Nginx 做个反代就扛住了。
MySQL 做在单台机器上面,找台做个读写分离,就行了,一是做个热备,一是分担一些压力。主库单机,别的多实例。
静态资源放一机器上,用个 Nginx 接住请求,开 gzip,如果图片多,用 imagemagick 做个实时压缩,再缓存一下,稳定运行无压力。静态资源都不需要单机,多域名指向那个静态资源。
保守一点,一台反代的 Nginx,轻松接住1s 10000个连接请求。
把系统的 selinux 关闭,ulimit 的 openfile 设置到 65536。
这个架构,可以水平伸缩,简单。