架构知识体系
架构演进
LAMP,部署在一台服务器
应用服务器和数据服务器分离
使用缓存改善性能
使用集群改善并发
数据库地读写分离
使用反向代理和cdn加速
使用分布式文件和分布式数据库
业务拆分
分布式服务
架构模式
分层:横向分层:应用层,服务层,数据层
分割:纵向分割:拆分功能和服务
分布式
分布式应用和服务
分布式静态资源
分布式数据和存储
分布式计算
集群:提高并发和可用性
缓存:优化系统性能
加快响应速度
cdn
方向代理访问资源
本地缓存
分布式缓存
异步:降低系统的耦合性
自动化:
发布,测试,部署,监控,报警,失效转移,故障恢复
架构核心要素
高性能:网站的灵魂
性能测试
前端优化
应用优化
数据库优化
可用性:
保证服务器不宕机,一般通过冗余部署备份服务器来完成;
冗余:冷备和热备,保证系统的可用性
负载均衡
数据备份
自动发布
灰度发布
监控报警
伸缩性:
建集群,是否快速应对大规模增长的流量,容易添加新的机器
集群
负载均衡
缓存负载均衡(冷热)
可扩展性:主要关注功能需求,应对业务的扩展,快速响应业务的变化。是否做法开闭原则,系统耦合依赖
分布式消息
服务化
安全性:
网站的各种攻击,各种漏洞是否堵住,架构是否可以做到限流作用,防止ddos攻击。
xss攻击
sql注入
csr攻击
web防火墙漏洞
安全漏洞
ssl
架构书籍推荐
《大型网站技术架构:核心原理与案例分析》
这是比较早,比较系统介绍大型网站技术架构的书,通俗易懂又充满智慧,即便你之前完全没接触过网站开发,通读前几章,也能快速获取到常见的网站技术架构及其应用场景。非常赞。
《亿级流量网站架构核心技术》
相比《大型网站技术架构》的高屋建瓴,开涛的这本《亿级流量网站架构核心技术》则落实到细节,网站架构中常见的各种技术,比如缓存、队列、线程池、代理……,统统都讲到了,而且配有核心代码。甚至连 Nginx 的配置都有!
如果你想在实现大流量网站时找参考技术和代码,这本书最合适啦。
《架构即未来》
这是一本“神书”啦,超越具体技术层面,着重剖析架构问题的根源,帮助我们弄清楚应该以何种方式管理、领导、组织和配置团队。
《分布式服务架构:原理、设计与实战》
这本书全面介绍了分布式服务架构的原理与设计,并结合作者在实施微服务架构过程中的实践经验,总结了保障线上服务健康、可靠的最佳方案,是一本架构级、实战型的重量级著作。
《聊聊架构》
这算是架构方面的一本神书了,从架构的原初谈起,从业务的拆分谈起,谈到架构的目的,架构师的角色,架构师如何将架构落地……强烈推荐。
不过,对于没有架构实践经验的小伙伴来讲,可能会觉得这本书比较虚,概念多,实战少。但如果你有过一两个项目的架构经验,就会深深认同书中追本溯源探讨的架构理念。
《软件架构师的12项修炼》
大多数时候所谓的“技术之玻璃天花板”其实只是缺乏软技能而已。这些技能可以学到,缺乏的知识可以通过决定改变的努力来弥补。