第四周·互联网架构 - 总结
一、大型互联网特点
1.高并发,大流量:需要面对高并发用户,大流量访问
2.高可用:系统24小时不间断服务。
3.海量数据:存储与管理海量数据
4.用户分布广、网络情况复杂:需要解决不同地域的用户访问
5.容易受攻击:大型网站几乎每天都会面临共计。
6.需求快速变更,发布频繁
二、解决高并发
2.1 垂直伸缩
增加硬件配置和网络吞吐能力,不需要改变应用架构。
1.方法
(1)增加I/O吞吐能力:使用RAID
(2)改善I/O访问速度:使用SSD
(3)减少I/O操作:增加内存
(4)增加网络带宽,升级或增加网络接口,提高网络吞吐能力
(5)升级CPU
2.特点
(1)速度快
(2)费用高
(3)有极限
2.2 水平伸缩
通过增加服务器数量。 理论上不存在极限
两者相比,初始阶段垂直伸缩更有优势。后期偏向使用水平伸缩
三、架构演化阶
第一阶段:应用数据分离:将应用程序,数据库与静态文件分离
第二阶段:使用缓存改善系统系统能,减少与数据库的交互,提高数据响应能力
第三阶段:应用服务器做集群,通过负载均衡,提高系统并发
第四阶段:读写分离,数据库使用主从数据库(一读、一写),提高数据响应能力
第五阶段:使用方向代理和CDN,缓存静态文件和网页。加速网站相应
第六阶段:使用分布式文件系统和分布式数据库
第七阶段:使用NoSQL和搜索引擎
第八阶段:业务拆分
第九阶段:微服务和中台
第十阶段:大数据与智能化
四、架构模式
分层:将系统在横向维度上切分成几个部分,每个部分负责相对单一的职责。
分割:将系统在纵向上切分,将不同的功能分隔开,包装成高内聚低耦合的模块单元。也便于不同模块的分布式部署,提高万丈的并发和功能扩展能力。
五、分布式
水平伸缩的具体方式,可以是系统使用更多的CPU、内存、存储,提高并发和数据量存储。
六、集群
多台服务器部署相同的功能,使用负载均衡,提高并发能力。
七、缓存
包括CDN,反向代理、本地缓存、远程缓存
八、异步
减少事物之间的直接关系,降低各功能、系统之间的耦合性。通过异步,将多个业务或者业务的多个阶段,通过共享数据进行解耦。、
异步可以达到提高系统可用性、加快网站相应速度、消除并发访问高峰。
九、荣誉
为了保证互联网7*24小时的连续运行,需要一定程度的服务器荣誉运行,数据荣誉备份。
十、自动化
在无人值守的情况下网站可以正常运行,自动化主要体现在运维方面。
十一、安全问题
1.敏感信息加密。手机验证码验证身份、xss攻击、SQL注入攻击,垃圾信息、敏感信息过滤。
十二、互联网技术
1.前端架构
App及Web开发技术、浏览器及HTTP优化技术、CDN、动静分离、静态文件服务、反向代理、DNS
2.网关及应用层架构
网关架构、负载均衡、动态页面静态化、业务拆分
3.服务层架构
微服务框架、分布式消息队列、分布式缓存、分布式一致性锁服务
4.存储层架构
分布式文件、分布式关系数据库、NoSQL数据库
5.后台架构
大数据平台、搜索引擎、推荐引擎、数据仓库
6.运维与安全
数据采集与展示、数据监控与报警、攻击与防护、数据加密与解密
评论