架构师训练营第四周作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
1.大数据和智能化。
主要有推荐算法,AI ,数据挖掘等,业务价值:
为企业提供基础的数据统计报表分析服务
通过数据产品、数据挖掘模型实现企业产品和运营的智能化,从而极大的提高企业的整体效能产出。最常见的应用领域有基于个性化推荐技术的精准营销服务、广告服务、基于模型算法的风控反欺诈服务征信服务,等等
通过对数据进行精心的包装,对外提供数据服务,从而获得现金收入。市面上比较常见有各大数据公司利用自己掌握的大数据,提供风控查询、验证、反欺诈服务,提供导客、导流、精准营销服务,提供数据开放平台服务,等等。
2.NoSQL和搜索引擎
常用的中间件有HBase,Mongodb , ES 等。主要解决关系型数据库不能解决海量数据的问题,可以用NoSQL和搜索引擎解决s海量数据的存储和海量数据的检索。
3.分布式文件系统和分布式数据库
常用的中间件有HDFS 、TFS ,mysql cluster 等,主要解决数据的存贮问题。
4.CDN加速
CDN即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络”边缘“的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。
主要解决问题:每个用户的请求获取就近的CDN,避免网络拥塞、缓解源站压力,保证用户访问资源的速度和体验。s
5.反向代理。
常用的中间件有 nginx ,HAproxy 等。
主要解决问题:
缓存,将服务器的响应缓存在自己的内存中,减少服务器的压力。
负载均衡,将用户请求分配给多个服务器。
访问控制
加上一些特殊的东西做特殊的事情(如IPS—入侵防御系统、web应用防火墙等)
6.服务器集群
主要解决单机性能瓶颈的问题,使用多台计算机组成一个集群对外提供服务。
7.分布式缓存
常用中间件Redis 等。
主要解决问题:热点数据的缓存,避免的频繁访问数据库。分布式缓存能够高性能地读取数据、能够动态地扩展缓存节点、能够自动发现和切换故障节点、能够自动均衡数据分区。
8.业务域拆分。
主要解决问题:业务之间的关联解耦,避免了业务间的依赖过于紧密,业务直接调用通过API接口的方式。
版权声明: 本文为 InfoQ 作者【涛】的原创文章。
原文链接:【http://xie.infoq.cn/article/1e8aa63ddba709b476d82060c】。文章转载请联系作者。
评论