初创公司的运维应该怎么做(lamp架构)2
06-24
今天活进度不错,闲下来再扯几句,接上篇: 初创公司的运维应该怎么做(lamp架构)
事情总得发展,一不小心就会发展到两台以上的服务器。
这时候,如何部署就是问题了,既要节约硬件带宽资源,省钱,又要充分发挥我们硬件的特性。
1、数据库,总得做个热备吧,主从复制,两个服务器就足够,当然更多的话,你可以多个从数据库。这时候主服务器挂了,备份的数据库可以立马变成主数据库进行工作,而主数据库又变成从的,这样达到无缝的切换。数据库多了,写压力集中在主数据库,而从数据库就可以分担读的压力。一般系统读压力大大高于写压力(特殊的系统除外),这样我们把其他服务器的CPU还能合理利用上。
2、如果但是数据库分到其他服务器上,CPU看似是充分利用了,带宽也得去利用。mysql同步走内网流量,自己用switch相连,而其他服务器同样可以分担http的负载。这时候,我们要考虑如何把原来独立服务器的http流量分布到其他新服务器上。直接做个nfs,把附件图片等分布到新服务器上是个最简单最懒的方式,也是短期最有效的,因为我们可以更换一个变量名就把url指向另外的服务器。
3、分频道也是办法之一,我们把一个大网站拆成几个小网站,分散到几个服务器,包括代码、数据、数据库,不过这种方法对小网站是费力不讨好,分开了,还整合不?分频道之外,还可以分功能,可以把email单独拿出来,也可以把一些消耗资源的功能单独拿出来。
4、最合理的,还是要综合考虑当前的服务,压力所在。把CPU、存储,带宽资源需求的模块都列出来,然后平均分布,再寻找平均分配资源的部署方式,这样是最优化的,但也对开发人员提出了更高的要求。程序代码的模块化、可零活配置、可迁移、可扩展是进行优化的前提。所以,在网站建设初期,最好考虑如何去扩展站点。
---------------------
貌似运维跟程序又掺合到一起了,当然,好的项目是需要各部门合作的,团队力量总是大的,所谓:瘦死的骆驼比狗大。