写点什么

架构师训练营 0 期第四周

用户头像
Blink
关注
发布于: 2020 年 07 月 02 日

作业

  1. 一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。

CDN:访问加速、数据缓存等

反向代理、负载均衡:流量分摊,水平扩展

缓存:包括CDN缓存、Nginx缓存、内存缓存、分布式缓存等,降低应用、DB负载,提高系统吞吐、响应

分布式锁:高并发下的资源访问控制

消息队列:满足生成消费需求,异步化,消除系统峰值,解耦

数据库:包括主从集群读写分离、分库分表、冷热分离、代理、连接池,减少IO连接、查询量,提升TPS

NoSQL、搜索引擎:降低DB数据库查询操作复杂度和压力

大数据平台:减少应用内计算密集型逻辑

网络通信协议:提供分布式系统通信能力

ELK、链路等:分布式系统日志、问题排查等解决方案

灾备:高可用性

总结

架构演化阶段

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

  • 第二阶段:使用缓存改善系统性能

  • 第三阶段:使用应用服务器集群改善系统的并发处理能力

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

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

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

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

  • 第八阶段:业务拆分

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

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

架构模式

  • 分层

  • 分割

  • 分布式

  • 集群

  • 异步

  • 冗余

  • 自动化

如何衡量一个系统的架构设计

  • 高性能

  • 高可用

  • 可伸缩

  • 可扩展

用户头像

Blink

关注

还未添加个人签名 2017.02.09 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 0 期第四周