架构师训练营第四周作业
作业:一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
1 DNS:如果在全球多个大洲都有部署系统,则可以针对用户的地理信息访问最近的系统。
2 CDN:很多占带宽的资源都是静态资源,如图片、文件、视频等, 通过将这些静态资源部署在离用户最近的机房中,可以极大的缩短请求的响应时间,提高用户体验。
3 负载均衡:任何集群都需要负载均衡,用于将请求分发至集群中的具体服务。负载均衡可以用于反向代理集群,应用服务器集群,缓存集群等。
4 反向代理:即用于将请求转发到具体的服务上,也常用于缓存静态资源和某些高频页面。
5 缓存:通过将常用数据放入缓存,可以极大的降低数据库读操作的压力。
6 数据库读写分离:大部分应用都是读多写少,通过增加数据库只读服务器,降低主库的压力。
7 微服务:通过系统拆分,将一个大系统拆分成多个微服务,有利于大型团队的开发,减少团队间的冲突,同时也可以针对性的优化,对并发量大的微服务增加集群机器,对并发量小的可以减少相关资源。
8 网关:可以做通用的用户授权,限流等功能。
9 搜索引擎:如Elasticsearch,如果有全文搜索的需求,或者对响应时间要求很严格,可以考虑引入搜索引擎。
10 大数据相关:随着数据量的增加,当关系型数据库不能满足要求时,应该引入数据仓库或data lake, 同时需要考虑是否需要引入批处理工具或流处理工具。
版权声明: 本文为 InfoQ 作者【sunnywhy】的原创文章。
原文链接:【http://xie.infoq.cn/article/009a78fcfd4bda2f3d9b0c916】。文章转载请联系作者。
评论