大型网站技术架构 -- 概述

发布于: 2020 年 07 月 02 日

1.系统面临问题

1)高并发,大流量

2)高可用

3)海量数据

4)用户分布广,网络情况复杂

5)安全环境

6)需求快速变更,发布频繁

7)渐进式发展

2.架构演化:系统面临的问题推进了技术的发展

1)应用数据分离

将应用和数据分离,部署专门的文件服务器和数据库服务器

2)使用缓存改善系统性能

网站访问特点和世界财富分配一样遵循二八定律,80%的业务访问集中在20%的数据上

本地缓存、远程分布式缓存

3)使用应用服务器集群改善系统并发处理能力

任何强大单一服务器都满足不了大型网站持续增长的业务,分布式集群是解决高并发,海量数据问题的常用手段。

4)数据库读写分离

主从复制

5)利用反向代理和CDN加速网站响应

基本原理都是缓存,区别CDN部署在网络提供商机房,用户就近获取数据,反向代理部署在网站

6)使用分布式文件系统和分布式数据库系统

7)使用NoSql和搜索引擎

8)业务拆分

9)微服务及中台

3.架构模式

1)分层:横向维度切分

网关层、应用层、基础设施层

2)分割:纵向维度分割

功能和服务分割,包装成高内聚低耦合的模块单元,便于分布式部署

3)分布式

分层分割目的就是为了分布式部署,使用多台服务器部署一个项目的不同功能,可处理高并发和大量数据

4)集群

分层分割后,访问量大的服务可以部署服务集群化,多台服务部署相同应用,通过负载均衡设备对外提供服务

5)缓存

将数据存放在距离计算最近的位置来加快处理速度,改善性能第一手段

CDN,反向代理,本地缓存,分布式缓存

6)异步

解耦合手段,将一个业务操作分多个阶段,异步架构是典型的生产者和消费者模式,两者不存在直接调用

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

7)冗余

保证应用7*24小时连续运行,服务器冗余,数据备份冗余

8)自动化

属于运维,发布部署、代码管理、测试、安全检测、监控、报警、失效转移、失效恢复、降级等的自动化

9)安全

加解密,手机校验,XSS,防盗链,SQL注入,CSRF

4.架构核心要素

  • 高可用:7*24

  • 高性能:响应速度

  • 易扩展:功能性需求,扩展功能

  • 可伸缩:通过集群增加服务器数量

  • 安全:防止系统被攻击,数据被窃取

5.架构技术

1)前端架构

  • App及Web开发技术

  • 浏览器及HTTP优化技术

  • CDN

  • 动静分离

  • 图片服务

  • 反向代理

  • DNS

2)网关及应用架构

  • 网关架构

  • 负载均衡

  • 动态页面静态化

  • 业务拆分

3)服务层架构

  • 微服务框架

  • 分布式消息队列

  • 分布式缓存

  • 分布式一致性(锁)服务

4)存储层架构

  • 分布式文件

  • 分布式关系数据库

  • NoSql数据库

5)后台架构

  • 大数据平台

  • 搜索引擎

  • 推荐引擎

  • 数据仓库

6)运维与安全

  • 数据采集与展示

  • 数据监控与报警

  • 攻击与防护

  • 数据加密与解密

用户头像

wei

关注

还未添加个人签名 2018.05.31 加入

还未添加个人简介

评论

发布
暂无评论
大型网站技术架构--概述