写点什么

如何设计大型互联网系统架构

用户头像
天天向上
关注
发布于: 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、架构演化历程

互联网业务呈现一种渐进式发展过程,系统架构也需要不断演化。



用户头像

天天向上

关注

还未添加个人签名 2018.09.20 加入

还未添加个人简介

评论

发布
暂无评论
如何设计大型互联网系统架构