探讨些技术(运维,软件开发)

@admin  February 6, 2019

重复造轮子

重复造轮子是所有程序员都避讳的问题,也不免有人就是爱自己造,个人感觉与其自己作不如用人家的轮子造项目。
相对与需求方,他们需要的是稳定,高性能的系统。相对市场,他们的业务不一定会给项目太多时间。
重复造轮子需要谨慎,尤其是技术团队不精的前提千万不要尝试。不然你会发现造的轮子全是BUG;

动静分离

PHP开发快,部署容易,稳定。优点也不多说了,因为缺点也不少;
笔者想探讨php 的一些拆分方式,大概流程是开发一个项目,后期不断维护。
php 通过 fast-cgi 代理到 nginx 后,然后在做一层负载均衡,再加一个CDN缓存后,基本就能负载较大访问量的用户了。
这期间的问题也就产生了:
1.项目部署
如果没有工具,不能每个机器都部署一边
2.配置文件
都是隶属一个项目,配置基本都是一样的,如果没有配置中心的概念,那么项目会不会很难管理

3.文件缓存分布不均匀
文件没有集中缓存或生成到一个地方 ,导致一些数据一致性出现问题(比如上传图片,生成的cache)

4.cdn 缓存严重
修改一个css ,js 文件后发现用户端并不生效;当然这里面的缓存不仅是cdn 的,也有可能是用户段的问题,比如相同链接的css js ,可以在firebug 的 network中看到 cache fron memory ,cache from desk;

问题想的还不够全,你可以私信一起探讨;
笔者想到的一些方案:
部署用工具,比如docker;
配置中心管理所有配置;
单独配置文件存储服务,缓存服务。
缓存问题可以是考虑如何快速清楚缓存,比如项目有版本的概念,每次
项目更新发布的时候,修改静态资源的请求get参数;
所有东西都有主备,一旦出现问题不至于项目直接死掉;
声明:上面说的不一定对,出错了别找我,写的这些单纯是自己总结;

修改问题的建议:

建议不要冲动删除代码,删数据。可以注释调试,可以备份删除,如果你不听你可以去看下《mysql删库到跑路》;


添加新评论