架构师训练营第一期 - 第四周课后 - 作业一
作业一:
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
1.数据库读写分类
数据库读写分离是将数据库的读操作和写操作分散到不同的节点上,将访问压力分散到集群中的多个节点。主要适用于读操作远多于写操作的业务。
系统架构图如下:
2.数据库分库分表
数据库分库分表是将数据按照业务需求分散到不同的节点上,是为了解决因为单机存储海量数据,而产生的存储压力和查找缓慢的问题。
分库是将不同的业务表分散到不同的节点上。一个商城系统,可将订单、用户、商品发布到不同的节点上。
分表是将一张海量数据表分开,不管是垂直分表,还是水平分表均是为了提高查找数据和插入数据的效率。
示意图如下:
3.使用高性能的NoSQL数据库
NoSQL是关系型数据库高I/O的解决方案,常用的有Redis、MongoDB、ElasticSearch。
4.DNS负载均衡
实现地理级别的均衡,使得用户可以就近访问服务。北京河北的用户可以访问部署在北京机房的网站。广东,福建的用户可以访问部署在广州机房的网站。减少地理上的距离而导致的访问延迟。
5.CDN缓存
网站内容缓存保存在用户附件的机房,用户访问网站的时候,可以访问最近机房的缓存的内容,提高响应速度。通常用在视频网站。
6.LVS负载均衡
将访问按照不同的访问策略分发到不同的主机上。减少单台服务器的访问压力。
评论