第四周 系统架构作业
一个典型的大型互联网应用有如下几种常见的技术方案和手段:
CDN
什么是CDN
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术
CDN解决什么问题
用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率,减轻应用服务器负担
反向代理
什么是反向代理
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源
反向代理解决什么问题
反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率,减轻应用服务器负担
负载均衡
什么是负载均衡
负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任
负载均衡解决什么问题
加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性
微服务
什么是微服务
微服务是一种用于构建应用的架构方案。微服务架构有别于更为传统的单体式方案,可将应用拆分成多个核心功能。每个功能都被称为一项服务,可以单独构建和部署,这意味着各项服务在工作(和出现故障)时不会相互影响
微服务解决什么问题
降低系统复杂性,提高系统可重用性,提高开发效率,提高系统扩展性
消息队列
什么是消息队列
消息的传输过程中保存消息的容器
消息队列解决什么问题
异步处理、流量控制、服务解耦
分布式缓存
什么是分布式缓存
分布式缓存由一个服务端实现管理和控制,有多个客户端节点存储数据,可以进一步提高数据的读取速率
分布式缓存解决什么问题
分布式缓存能够高性能地读取数据、能够动态地扩展缓存节点、能够自动发现和切换故障节点、能够自动均衡数据分区
读写分离
什么是读写分离
为了确保数据库产品的稳定性,很多数据库拥有双机热备功能。也就是,第一台数据库服务器,是对外提供增删改业务的生产服务器;第二台数据库服务器,主要进行读的操作
读写分离解决什么问题
消除读写冲突从而提升数据库的性能,适用于读多写少的应用场景
分布式数据库
什么是分布式数据库
分布式数据库是多个互连的数据库,他们通常位于多个服务器上,但彼此通信以实现共同目标;通过分布式数据库管理系统(DDBMS)进行管理
分布式数据库解决什么问题
解决单机数据库服务瓶颈
分布式文件系统
什么是分布式文件系统
分布式文件系统(Distributed File System,DFS)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点(可简单的理解为一台计算机)相连;或是若干不同的逻辑磁盘分区或卷标组合在一起而形成的完整的有层次的文件系统
分布式文件系统解决什么问题
解决海量文件的存储问题
NoSQL数据库
什么是NoSQL数据库
泛指非关系型数据库
NoSQL数据库解决什么问题
解决大规模数据读写性能和扩展问题
大数据平台
什么是大数据平台
综合了不同种类和海量的数据以存储、运算、展现作为目的平台
大数据平台解决什么问题
解决了不同种类的海量数据的存储、运算、展现以及融合问题
全文搜索引擎
什么是全文搜索引擎
全文搜索引擎就是通过从互联网上提取的各个网站的信息(以网页文字为主)而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给用户
搜索引擎解决什么问题
解决从海量数据中快速检索和用户查询条件匹配的相关数据的问题
推荐引擎
什么是推荐引擎
推荐引擎,是主动发现用户当前或潜在需求的定律,并主动推送信息给用户的信息网络。挖掘用户的喜好和需求,主动向用户推荐其感兴趣或者需要的对象
推荐引擎解决什么问题
解决用户的个性化数据获取需求
评论