架构师训练营第四周总结
1、互联网系统面对的挑战:
(1)高并发,大流量。
(2)高可用。确保系统能够7*24提供不间断的服务。
(3)海量数据的存储和管理。
(4)用户分布广泛,网络情况复杂。
(5)网络安全环境恶劣。
(6)需求快速变化,需要快速响应,更新发布频繁。
(7)渐进式发展。从一个小网站、小系统根据用户需求的变化不断发展完善逐步运行发展起来。
2、满足高并发需求的两个方向:
(1)垂直伸缩。简单粗暴,通过增加硬件设备和网络性能来提高系统的性能,不需要改变现有的系统架构,但是有一个天花板限制,使得硬件及网络性能不能无限制的增加;
(2)水平伸缩。通过增加服务器提升计算能力。能够避免出现因单台服务器极限导致无法进行伸缩的问题。
注:在出现高并发需求时,先考虑是否可以通过垂直伸缩来提高系统高并发需求。
3、架构模式:
每一个架构模式描述了一个不断重复发生的问题以及该问题解决方案的核心,架构模式的关键在于模式的可重复性,问题与场景的可重复性带来解决方案的可重复使用。
互联网架构模式是试图去描述为解决互联网系统高性能、高可用、易扩展、可伸缩、安全等目标,被互联网应用重复使用的一些解决方案。
(1)分层:将系统在横向维度上切分成几个部分,每个部分负责一部分相对比较单一的职责,然后通过上层对下层的依赖和调用组成一个完整的系统。
(2)分割:将系统在纵向维度上切分成几个部分,将不同的功能和服务分割,包装成高内聚低耦合的模块单元,有助于软件的开发和维护,便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力。
(3)分布式:将不同模块部署在不同的服务器上,通过远程调用协同工作。分布式通过使用更多的计算机、CPU、内存、存储资源,处理并发访问和数据量更大的工作场景。包括分布式应用和服务,分布式静态资源,分布式数据和存储,分布式计算。
(4)集群。针对用户访问集中的模块,将多台独立部署服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务。
(5)缓存。将数据存放在距离计算最近的位置以加快处理速度。缓存是改善软件性能的第一手段。包括CDN、反向代理、本地缓存、远程缓存等手段。
(6)异步。将一个业务操作分成多个阶段,每个阶段之间通过共享数据进行协作,以提高系统可用性、加快网站响应速度、消除并发访问高峰。
(7)冗余。通过服务器冗余运行、数据冗余备份避免因服务器宕机引发互联网应用无法7*24小时连续运行。
(8)自动化。在无人值守的情况下网站正常运行。
(9)安全。确保互联网应用信息安全。
4、互联网系统架构核心要素:
高性能、高可用、可伸缩、可扩展、安全。
评论