第四周作业

用户头像
alpha
关注
发布于: 2020 年 10 月 11 日

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。



一、分布式文件服务器

主要解决文件上传、下载等问题,开始使用开源的如FastDfs,或阿里云的OSS。比自己搭建的成本低很多。

二、CDN服务器

系统使用的静态文件如果各种图片、js文件、css样式文件等,可以使用CDN服务进行加速访问,这些文件修改频率较少,不用每次都到主服务器进行读取,减少主服务器的带宽、IO压力。

三、反向代理和负载均衡服务器

当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。应用服务器不开放外网ip,一般使用Nginx进行反向代理。同时Nginx对客户端请求根据某些算法进行分配,分别调用不同的应用服务,即负载均衡。

四、分布式服务

目前使用较多的是Zookeeper+Dubbo和SpringCloud。分布式服务可以方便的进行横向扩展。对系统进行模块化划分,降低各模块之间的耦合。

五、微服务

对各个模块中的公共部分进行抽象提炼,减少重复开发。通过对微服务的分布式部署,可以根据实际访问量来灵活增加访问较多的服务。

六、消息队列

系统中各个模块之间的异步调用,比如下单成功之后给客户发短信等非当前主业务功能,通过ActiveMQ或RabbitMQ等消息队列发送消息,接收方收到消息后再进行处理。

七、搜索引擎

对帖子内容的搜索、或者对商品名称的搜索,使用普通的关系型数据库无法实现或者实现效果不是很理想,这时就需要搜索引擎来辅助实现,比如:ElasticSearch,提供了各种分词的策略和索引机制,快速查找的需要的内容。

八、缓存服务器

关系型数据库的数据是存储在磁盘上的,再加上随着业务发展,单表的数据量也越来越多,数据库的读写压力会成为整个系统的性能瓶颈,使用如Redis等缓存来减少数据库的查询,对性能提升有很大的作用。

九、关系型数据库

关系型数据库是相对来说比较难扩展或扩展成本比较大的,一般也只是采用主从库的模式,多配几个从库,把主库的资源都留给写入的操作。

十、大数据相关

数据已经是越来越宝贵的资源,从数据中对用户行为进行分析,挖掘用户的偏好、消费习惯等是成熟互联网平台不可或缺的,使用SparkStreaming、Hbase等实时计算和记录用户的数据。

十一、人工智能

人工智能是对大数据很好的补充,大数据平台收集到的数据,经过人工智能训练,进行智能推送、流失预警等。



用户头像

alpha

关注

还未添加个人签名 2019.01.09 加入

还未添加个人简介

评论

发布
暂无评论
第四周作业