架构师训练营 2 期 - 第 4 周命题作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列
举描述。
大型互联网应用系统面对的问题:
性能:高性能(高并发,高负载);
可用性:高可用(7*24);
可靠性:高可靠(数据一致性)
存储:海量数据存储;
网络:网络复杂性;
可扩展性:快速业务发展;
维护性和安全性:数据安全;
大型互联网应用系统分别用到的技术手段有以下几种:
高性能问题解决方案:集群。集群中每台服务器承担一部分计算和资源需求,集群作为整体对外提供服务。
1.数据库读写瓶颈:分布式缓存集群
(本地缓存:速度快,但容量小。远程缓存:组建分布式集群,使用更多的内存,解决本地缓存容量不足的问题。)
2.应用服务器瓶颈:分布式应用服务器集群+负载均衡
(建立应用服务器集群,5000 并发,可分摊到 10 台服务器,每台分摊 500 并发。负载均衡服务器:负责均衡分发请求到 10 台服务器。)
3.海量数据瓶颈:分布式数据库集群+数据库分表
(分布式数据库,将海量数据分摊在多个数据库服务器存储。读写分离,数据分表。)
4.负载均衡瓶颈:CDN 集群+反向代理集群+负载均衡集群
(CDN 集群:网络运营商机房的 CDN 服务器建立集群,主要缓存静态资源。拦截并发请求,处理静态资源,直接返回给用户。反向代理集群:反向代理整个数据中心,对外提供服务,可缓存部分内容。负载均衡集群:下发请求到应用服务器。)
5.查询速度瓶颈:搜索引擎集群+NoSQL 集群
(海量数据,复杂查询,非关系型数据库)
6.业务耦合瓶颈:业务拆分+消息队列
(业务拆分:按照业务领域,拆分应用。并将不同应用部署到不同的集群上。消息队列:解除不同应用之间的耦合。)
7.代码重复瓶颈:微服务集群+中台化
(微服务集群:剥离公共服务,构建可重复使用,更小业务单元,部署到独立的微服务集群。中台化:由多个微服务集群组成中台。)
评论