第四章总结

发布于: 2020 年 06 月 28 日

一、互联网面临的挑战

高并发、大流量:海量用户访问、海量交易等

高可用:系统7*24不间断服务

海量数据:需要存储、管理海量数据

用户分布广泛、网络情况复杂

安全环境恶劣

需求快速变更,发布频繁

渐进式发展

二、如何应对高并发

垂直伸缩、水平伸缩

三、互联网架构演化

1.阶段零:应用、数据库都部署在一台机器上

2.阶段一:应用、数据分离,部署在不同服务器上

3.阶段二:使用分布式缓存改善数据库压力

4.阶段三:使用应用服务器集群提升系统的并发处理能力

5.阶段四:数据库读写分离

6.阶段五:使用CDN和反向代理加速网站速度

7.阶段六:使用分布式文件系统和分布式数据库

8.阶段七:使用NOSQL和搜索引擎

9.阶段八:业务拆分

10.阶段九:微服务及中台化

11.阶段十:大数据与智能化

四.互联网架构模式

描述那些为解决互联网系统高性能、高可用、易扩展、可伸缩、安全等目标,被很多互联网应用重复使用的一些解决方案,这些解决方案是互联网软件系统的重要组成部分。

1.分层:在横向维度上切分成几个部分,每个部分负责一部分相对比较单一的职责,然后通过上层对下层依赖和调用组成一个完整的系统

2.分割:在纵向方面对软件进行切分,将不同的功能和服务分割开来,包装成高内聚低耦合的模块单元,一方面有助于软件的开发和维护;另一方面,便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力。

3.分布式:将分层和分割后的模块独立部署在不同机器,解决同样的问题可以使用更多的计算机

分布式应用和服务

分布式静态资源

分布式数据和存储

分布式计算

4.集群

对于用于访问集中的模块,需要将独立部署的服务器集群化,多台服务器部署想用应用构成一个集群,通过负载均衡设备共同对外提供服务。

5.缓存

将数据存放再距离计算最近的位置以加快处理速度。

CDN

反向代理

本地缓存

远程缓存

6.异步:解耦系统,将一个业务操作分成多个阶段,每个阶段之间通过共享数据而不是直接调用方法进行写作。

提高系统可用性

加快网站响应速度

消除并发访问高峰

7.冗余

保障服务器宕机的情况下网站依然可以继续服务,数据不会丢失,就需要一定的服务器冗余运行,数据冗余备份,确保7*24小时连续运行。

8.自动化

在无人值守的情况下网站可以正常运行,一切都可以自动化是网站的理想状态。目前主要集中在运维方面。

9.安全

密码和手机校验码进行身份认证

登录、交易操作需要对网络通讯进行加密,网站服务器上存储的数据进行加密处理

防止机器人,使用验证码

通过编码转换等相应处理防止XSS攻击、SQL注入

垃圾信息、敏感信息进行过滤

转账交易等重要操作根据交易模式和交易信息进行风险控制

五、互联网系统架构核心要素

1.高性能

2.高可用

3.可伸缩

4.可扩展性

5.安全

六、互联网架构技术整体框架

用户头像

关注

还未添加个人签名 2018.05.04 加入

还未添加个人简介

评论

发布
暂无评论
第四章总结