互联网系统架构总结

用户头像
紫极
关注
发布于: 2020 年 07 月 01 日
互联网系统架构总结

1. 互联网系统特点

  • 高并发,大流量

  • 高可用

  • 海量数据

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

  • 安全环境恶劣

  • 需求快速变更,发布频繁

  • 渐进式发展

2. 互联网架构演化

  • 第零阶段:最简单的互联网应用架构,所有资源都在同一台服务器上

  • 第一阶段:应用数据分离

  • 第二阶段:使用缓存改善网站性能,本地缓存和分布式缓存

  • 第三阶段:使用应用服务器集群改善网站的并发处理能力,负载均衡

  • 第四阶段:数据库读写分离

  • 第五阶段:使用反向代理和CDN加速网站响应

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

  • 第七阶段:使用NoSQL和搜索引擎

  • 第八阶段:业务拆分

  • 第九阶段:微服务和中台化

  • 第十阶段:大数据和智能化

3. 架构模式

  • 分层

横向维度切割,通过上下层依赖组合

  • 分割

纵向维度切割,高内聚低耦合

  • 分布式

通过分层和分割后分布式部署,解决高并发和大流量。

主要包含,分布式应用和服务,分布式静态资源,分布式数据和存储,分布式计算

  • 集群

多台服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务

  • 缓存

缓存数据就近获取,解决性能问题。

主要包括,CDN,反向代理,本地缓存,远程缓存(分布式缓存)

  • 异步

一个业务操作分成多个阶段,每个阶段之间通过共享数据的方式异步进行协作,降低系统耦合性。

主要优点,提高系统可用性,加快网站响应速度,消除并发访问高峰

  • 冗余

保证系统可靠性,对服务器进行冗余运行,数据冗余备份,确保一部分服务器宕机后网站继续运行

  • 自动化

主要是运维自动化,大概包括:代码管理自动化、测试自动化、发布部署自动化、监控报警自动化、熔断恢复自动化、资源服务器伸缩自动化

  • 安全

需要确保系统的安全性。

手段,双因素验证,网络加密,数据加密,多重的验证码,编码转换,数据过滤,风控。

4. 互联网系统架构核心要素

  • 高性能

为用户提供快速的访问

  • 高可用

确保系统7*24小时可用

  • 可伸缩

即不改变现有系统的基础上,添加或删除服务器等资源,以提高或降低系统能力

  • 可扩展

可以方便快速的添加和删除功能,达到更好的扩展性

  • 安全性

对已知的的攻击进行拦截,对未知的问题提供防御

5. 互联网架构技术一览

前端架构

  • App及Web开发技术

优化系统组件加载等部分

  • 浏览器及HTTP优化技术

减少http请求书,浏览器缓存,js css压缩等

  • CDN

静态资源cdn加速

  • 动静分离

动态静态资源分离,尽可能加快响应

  • 图片服务

图片资源使用特殊加速渠道

  • 反向代理

反向代理加速资源获取熟读

  • DNS

DNS优化加速

网关及应用架构

  • 网关架构

优化网关,提高性能

  • 负载均衡

多份同样应用,减少同台服务器负载

  • 页面静态化

页面静态化,通过反向代理,cdn等手段加速

  • 业务拆分

业务拆分,分摊服务器等资源负载

服务层架构

  • 微服务架构

对系统服务进行业务等不同维度拆分,进行解耦,达到高可扩展

  • 分布式消息队列

将系统运行进行异步化,解耦系统

  • 分布式缓存

提高数据等资源获取速度

  • 分布式一致性

确保系统数据最终一致性

存储层架构

  • 分布式文件

  • 分布式关系数据库

  • Nosql数据库

后台架构

  • 大数据平台

  • 搜索引擎

  • 推荐引擎

  • 数据仓库

运维与安全

  • 数据采集和展示

  • 数据监控和报警

  • 攻击和防护

  • 数据加密和解密

用户头像

紫极

关注

还未添加个人签名 2018.08.28 加入

还未添加个人简介

评论

发布
暂无评论
互联网系统架构总结