对于生活在互联网世界的我们来说,互联网是不可分割的存在。我们经常访问的新浪微博、今日头条、搜狐新闻、腾讯视频、微信、QQ等大型网站的网站服务器架构需要哪些服务器?
1.网络服务器
Web服务器主要是为访问者提供http访问或加密https访问的服务器。被访问的网页是直接从网络服务器发出的,位于网络服务器的前端。IIS常用于服务器系统,Nginx常用于unix和Linux服务器系统。
2.应用服务器
应用服务器是作为服务器执行共享业务应用的底层系统软件服务器,访问的应用请求在应用服务器中处理。各种业务逻辑运行在应用服务器上,主要是EJB、JNDI、JMX API等J2EE API,以及事务处理、业务逻辑管理、数据库连接等功能
3.数据库服务器
在局域网中运行的一台或多台计算机和数据库管理系统软件共同构成数据库服务器,为客户端应用程序提供查询、更新、事务管理、索引、缓存、查询优化、安全等服务。多用户访问控制等
4.代理服务器
代理服务器通常是客户端访问的行为。虽然在网站部署中不属于环境,但在整体客户端访问中是服务器的重要组成部分。
5.反向代理服务器
与代理服务器相反,还有一个反向代理服务器,其功能类似于 Web 服务器。但是,从中获取的网页并不是原始页面的“来源地”,而是从页面的“来源地”检索到页面后的缓存。代理服务器中缓存的内容通常是一些用户访问某个页面并产生访问请求后留在客户端代理服务器上的缓存;而反向代理服务器上缓存的页面不是由于某些用户访问了某个页面。一个页面后留下的缓存是根据网站运维策略定期生成的。
代理服务器和反向代理服务器的区别:代理服务器工作在客户端web服务器,反向代理服务器工作在服务器端,Nginx服务器经常作为反向代理服务器使用
6.后端服务器
后台服务器只是一个声明,是根据它的工作特性,也就是说,它不是直接提供给客户端访问的。例如,许多服务器在后台工作,但 HTTP 协议无法访问它们。另一种情况,如果我们以前作为Web服务器提供HTTP访问,现在被Nginx反向代理了,也就是说Nginx直接面对客户访问,然后把请求转给服务器,那么这里的服务器就变成了后台服务器
7.CDN缓存服务器
正如它的名字一样,它是缓存服务器的角色,是反向代理的应用。在网站部署中,是一种部署策略,即针对远程访问的解决方案,为了解决时间生成距离和时间缩短距离生成的问题,是反向代理的另一种应用
8.负载均衡服务器
负载均衡服务器的主要功能是实现某些类型服务器的规模扩展。比如系统前端的web服务器和后端的数据库服务器,如果想通过增加服务器实现N+1横向扩展,就需要通过多台服务器进行负载均衡,分担压力。
9、消息队列服务器
队列是系统解耦的有力工具,也是大中型分布式系统的标配。没有队列,业务系统容易高度耦合,系统吞吐量很快就会遇到瓶颈。
10. 文件服务器
分布式文件系统,专门用于存储业务系统所需的各种文件,如图片、多媒体文件等。
11. 索引服务器
它用于网站的全文索引,是搜索所必需的。内存和CPU要求高,大型网站通常需要支持主从备份和容错,甚至是多实例索引集群
12. 搜索服务器
通常需要部署多个单元,否则查询的性能将无法支持,内存要求也不高。对于一些中小型站点,索引服务器和搜索服务器在物理上和逻辑上都是同一台服务器
13. 作业服务器
主要用于后端应用中的大批量、大批量、复杂业务逻辑的定时作业。大多数互联网公司都是标准的。一些企业的定时调度框架直接部署在web服务器上,可以减少这里所谓的job 。
14.nosql服务器
随着海量数据处理的兴起,各种nosql产品层出不穷。nosql服务器主要用于处理海量数据,支持存储、查询、分片等。
在 Web 应用中,有两件事由于历史问题一直难以实现横向扩展或者实现起来非常昂贵。如您所知,它们是:A、数据库 B、网络带宽
一些nosql的出现,很可能解决了这个历史难题。现在有nosql产品弥补了关系型数据库天生不支持横向扩展的缺点,在某些场景下正在替代关系型数据库。
15. 其他
由于需求和应用需求的变化,一些互联网公司可能还会衍生出基于安全的授权/证书服务器、全球唯一序列号服务器、会话服务器等。