php - web集群, 程序文件用同步的方式还是挂载的方式
迷茫
迷茫 2017-04-11 10:33:30
[PHP讨论组]

web集群中, 肯定要保证每台机器程序代码文件是一样的.

那么一般两种方案,
一是通过同步软件将上传的代码同步到每台服务器, 也就是每台机器上真的有各自的代码.
第二种就是每台服务器都去挂载一台公共的文件存放服务器.

这两种方案, 第二种明显是易于管理.

第一种可能性能更优,在网站运行时,因为直接读取的本机文件. 但在管理上不便, 比如程序中记录了日志, 那么多台服务器就有各自的日志, 要管理这些日志, 还得合并, 而且不是简单的合并, 多台服务器同一天的同名日志文件 里面每条日志时间有交叉性, 得排序做个日志分析管理.

有一个方法是单独针对日志存放到共同挂载的服务器, 本来网站的文件上传业务的确也是这么做的.
但网站项目比较多, 程序员用的不同的语言框架, 日志目录配置又各不一致, 这样就得每个程序手动改日志保存目录.

我偏向于用第二种,也就是每台web共同挂载的方式, 但这在服务器有几十上百台的大型集群中会有问题吗,
上百台web服务器运行的代码文件都共同挂载到一个文件服务器?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(7)
怪我咯

我认为应该是同步的方式,首先,部署的时候同步代码,所有的部署工具都是支持分布式的,其次,日志文件的获取,可以采用ELK+kafka进行统一收集管理。用挂载的方式不稳定,而且也存在对日志文件同时写的问题。

伊谢尔伦

"挂载"本质上就是同步,程序运行的时候从中心服务器把文件"同步"到了内存中;
但是建议还是方案1,方案2有明显的单点问题,你中心服务器挂了大家就都挂了。

ringa_lee

代码发布用版本管理系统,批量发布自己写工具或者网上有现成开源的。
日志集中管理用elk

PHP中文网

一般程序代码最好放在web本地上面,挂载方式会影响性能!

天蓬老师

方案二省事,方案一性能不受影响,但感觉方案二,现在php都是用apc,代码都缓存到了内存中,一般也不太受性能影响了,本人也在犹豫。

巴扎黑

另一个方案就是用云服务商的文件存储,其实你几十台的机器了,文件存储就算不用云服务商的也应该自己另开一个子域名应用来专门做存储。比如storage.xxx.com,里面用专门的企业级文件存储方案来做

阿神

都没人回都没人回都没人回都没人回都没人回都没人回都没人回都没人回都没人回都没人回

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号