【极客大学】【架构师训练营】【第四周】典型大型互联网应用系统的技术方案和手段
题一
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述
答:
1、分布式数据库:业务量巨大的时候,传统的读写分离由于一主多从的特点,无法满足巨大的写入量的需求,因此引入分布式数据库,将一张表拆分到多台机器上,达到高并发写的需求
2、分布式缓存:磁盘IO瓶颈明显,在海量读数据的请求下,单靠数据库无法满足需求,引入分布式缓存解决这一问题
3、分布式文件系统:
4、CDN加速:在离用户近的各局点设置“缓存服务器”,由于读多写少的特点,大多数流量都能够直接从CDN服务器中得到响应,这样既降低了应用服务器的压力,又能够使得用户请求得到快速响应
5、反向代理服务器:反向代理服务器也具备缓存,如果CDN服务器没有缓存用户所需要的数据,则流量会进一步的到达反向代理服务器,如果反向代理服务器已经缓存了数据,则会直接返回给CDN服务器,进一步减轻应用服务器的压力
6、负载均衡:单台应用服务器无法承受业务压力,因此采用集群方式部署,前端引入负载均衡服务器,将负载均匀的分配到各个服务器上,以承载业务压力
7、业务拆分:当业务越做越复杂,为降低业务之间的耦合,避免成百上千人维护一个系统,将业务进行拆分(买家服务、卖家服务、订单服务、支付服务等),业务之间通过网络API进行调用
8、微服务与中台:基于业务拆分更进一步,按照功能进行拆分,不同的功能拆分成不同的服务(如存储服务、缓存服务、网关服务、搜索服务等),然后又抽取出公用的能力,构建中台
版权声明: 本文为 InfoQ 作者【NieXY】的原创文章。
原文链接:【http://xie.infoq.cn/article/423d0779abd96a6b696b7f0e1】。
本文遵守【CC BY-NC】协议,转载请保留原文出处及本版权声明。
评论