典型互联网公司使用的技术
典型的大型互联网应用系统使用的技术方案如下:
1:CDN缓存服务器
用于就近用户距离查询资源,使得用户的请求不用到达服务器
2:反向代理服务器和负载均衡服务器
这层服务器可使用nginx搭建,使用nginx做动静分离,对静态数据如图片等做缓存,然后,反向代理通过多服务器做虚拟ip供用户调用,使用一定的负责均衡策略调用后台服务器集群,使得用户的请求平摊到各个后台应用服务器。
3:微服务和分布式
微服务把各个组件分离开来,在很多业务都需要调用的逻辑,拆分成微服务,供各个不同业务调用
分布式将各个大模块的业务进行拆分,拆分成易于维护的小模块,通过分层模式进行调用
4:通信中间件
该中间件用于各个层次异步通信,加快服务之间的调用,也可用于削峰填谷,避免流量突然上身对服务器造成压力,可以使用消息队列如kafka,rabbitmq等
5:分布式缓存
分布式缓存用于缓存一些用户常访问的数据,避免大量请求到达后台mysql数据库,一般使用nosql数据库如:redis,mongodb等
6:搜索引擎服务器
一般搜索引擎服务器是文档型服务器比如elasticserch等,用于将后台的复杂查询缓存到elasticserch,通过elasticserch分词器将用户的模糊查询定位到他想要的资源,加速搜索功能
7:分布式文件服务器
用于存储文件,统一保存,使用技术如:FastDFS等,加快文件类型数据的查询
8:分布式数据库
用于存储用户需要的数据信息,后台一般用mysql集群的形式
评论