写点什么

大型互联网系统常用的技术方案

用户头像
天天向上
关注
发布于: 2020 年 10 月 17 日

1、大型互联网系统的核心要素

  • 高性能

  • 高可用

  • 可伸缩

  • 可扩展

  • 安全

2、主要的架构模式

2.1、横向分层

将系统横向拆分成多个子系统,比如视图层、应用逻辑层、公共服务层、存储层等,每一层职责单一,可根据每一层的特性进行优化和扩展。

2.2、纵向分割

将一个复杂的系统的每一层按不同的功能进行拆分,拆分后的每一个模块的功能相对单一,更利于维护,也可按需扩容,提升系统的并发能力。

2.3、分布式集群

将每个模块都部署在多台服务器上,并通过负载均衡将每一个模块都构建成一个集群,提升系统的并发及处理大数据量的能力。静态资源、服务、存储、计算、数据都可以实施分布式部署方案。

2.4、缓存

缓存是提升系统性能最简单有效的手段,比如CDN、反向代理、本地缓存、远程缓存。

将数据存储在离访问者更近或者访问速度更快的地方,减少网络开销、IO开销、计算开销。

2.4、异步

异步就是将模块间的直接调用改为消息驱动,可以解除模块间的耦合,提升系统的可用性、加快系统响应速度、消除并发访问高峰。

2.5、冗余

分布式部署其实就是实现的冗余,应用系统多台服务器互为冗余,现在很多存储技术实现了复本,就是对数据的一种冗余。冗余可以提升系统的可用性,数据安全性、数据读取的并发能力。

2.6、自动化

自动化运维主要是通过自动化的系统监控、部署、节点的管理,提升系统的可用性,在系统压力达到一定的阈值可以自动扩容,系统某个服务器或者进程出现故障,可自动剔除。

2.7、安全

安全是为了保护系统的用户的数据和财产安全,保障系统的稳定性,主要手段包含身份认证、数据加密、防XSS、SQL注入功能、风控管理等。

3、主要技术方案

3.1、前端架构

  • App和Web开发技术

  • 浏览器和HTTP优化技术

  • CDN

  • 动静分离

  • 图片服务

  • 反向代理

  • DNS

3.2、网关及应用层架构

  • 网关架构

  • 负载均衡

  • 分布式缓存

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

3.3、存储层架构

  • 分布式文件

  • 分布式关系数据库

  • NoSQL数据库

3.4、后台架构

  • 大数据平台

  • 搜索引擎

  • 推荐引擎

  • 数据仓库

3.5、运维与安全

  • 数据采集与展示

  • 数据监控与报警

  • 攻击与防护

  • 数据加密与解密



用户头像

天天向上

关注

还未添加个人签名 2018.09.20 加入

还未添加个人简介

评论

发布
暂无评论
大型互联网系统常用的技术方案