第四周 作业二:系统架构学习总结【未陌】
系统架构的逻辑
任何一个系统都有架构,不管是开发工程师自己进行的随缘开发,还是由架构师有规划的设计相关系统架构;
系统架构是为了满足业务的发展需要而进行的规划设计;
不能为了采用某些技术,而过度的设计系统架构,应该适时的,适当的进行架构升级等;
系统架构的演变
单机
业务处理,数据存储,图片存储,文件存储都放在同一台服务器中;
集群部署
将单机的程序进行多台主机部署,处理程序如Tomcat采用集群方式多台部署;
前段使用LVS进行负载均衡;
后台数据库如MySQL采用双主双从方式;
水平拆分
将静态文件,数据存储,图片存储,文件存储,处理程序分别放置在不同的主机上;
增加Redis等NoSQL存储作为缓存,提高不常变动数据的访问速度,直接对数据库的访问压力;
将静态文件、图片文件等部署在CDN,使客户访问时可自动的就近加载,提高网站的访问速度;
根据业务情况,将MySQL中不涉及变动的数据进行转移,降低数据存量,提供MySQL数据库的修改压力;可以转移到如MongoDB等数据仓库中。
业务拆分
根据业务耦合情况,将系统业务拆分为子系统,各子系统单独部署,单独维护;
将各子系统中使用到的公共功能抽取为微服务,方便业务变化时简化修改,达到性能瓶颈是水平扩展;
将模糊查询相关业务进行提取,使用搜索引擎进行部署;
感悟
架构这东西一个感觉,纸上得来终觉浅,还是系统多多接触不同的系统,然后多多思考,再实践中掌握提升;
感觉凭空想的架构演变非常不完善,但是又不想翻书照着写,给自己留下一些成长的空间吧,成长过后再来弥补;
版权声明: 本文为 InfoQ 作者【a d e】的原创文章。
原文链接:【http://xie.infoq.cn/article/467be57c15b76991f3db45994】。
本文遵守【CC BY-NC】协议,转载请保留原文出处及本版权声明。
评论