大型网站架构演进(1)单机网站

  初始阶段的网站一般访问量都很小(QPS<500),此时只需要一台服务器就足够,应用程序,数据库和文件都放在这一台服务器上。如果是.net的话,通常操作系统使用windows server,应用程序开发使用asp.net,然后应用程序部署在IIS上,数据库使用sql server。

单机网站

单机网站的架构非常简单,如下图:

单机网站架构的好处是开发需求,发布版本和部署非常快,但是存在以下问题:

1,可以支持的并发访问量比较小,一般QPS在500以下。

2,不易扩展和维护,修改一个小地方就需要编译发布整个网站。

时间: 2024-10-07 19:43:01

大型网站架构演进(1)单机网站的相关文章

大型网站架构演进(3)使用缓存改善网站性能

原文:大型网站架构演进(3)使用缓存改善网站性能 网站的访问也是遵循二八定律:80%的业务访问集中在20%的数据上,如果我们把这20%的数据做缓存,是不是可以减轻数据库的访问压力呢?在项目开发过程中,我们通常将一些基础信息缓存起来,比如商旅系统中的国家,城市,航空公司,机场和航站楼信息. 使用缓存改善网站性能 缓存一般分为两种,本地缓存和分布式缓存,本地缓存指的是应用服务器的本机缓存,分布式缓存一般指专门的缓存服务器,比如memcached和redis.下图是使用缓存后网站的架构: 总结: 使用

大型网站架构演进(4)使用应用服务器集群

原文:大型网站架构演进(4)使用应用服务器集群 使用应用服务器集群是解决高并发的常用手段,当一台应用服务器的处理能力不足时,不要企图更换配置更高的服务器,对于大型网站而言,不管多么强大的服务器,都满足不了持续增长的业务需求,在这种情况下,更好的做法是增加一台应用服务器去分担原来服务器的压力.因为这样使得系统的可扩展和可伸缩性更好. 使用应用服务器集群 架构如下图: 总结: 使用应用服务器集群后,应用服务器这一层的高并发问题就解决了,但是高并发的压力就转移到数据库了,所以后面要继续优化架构去解决数

ASP.NET Core搭建多层网站架构【5.1-WebCore网站核心配置】

2020/01/29, ASP.NET Core 3.1, VS2019 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构[5.1-WebCore网站核心配置] 统一封装网站核心配置,注册跨域策略,实例化雪花算法,后期可扩展添加多语言支持 文章目录 此分支项目代码 本章节介绍了统一封装网站核心配置,注册跨域策略,实例化雪花算法,后期可扩展添加多语言支持 添加网站配置及跨域配置 在MS.WebApi应用程序appsettings.json中添加以下节点: "SiteSe

大型网站架构演进(8)业务拆分

大型网站为了应对日益复杂的业务需求,通过使用分而治之的手段将整个网站的业务分成不同的产品线,然后交给不同的开发团队负责.这样一方面方便应用的扩展和维护,同时不同的应用对应不同的数据库,也减小了原来所有业务数据都在一个数据库的压力. 业务拆分 原来一个网站拆分成多个不同的应用后,每个应用都是独立部署维护,系统之间的通讯一般使用消息队列中间件来完成,所以更新后的架构如下图:

大型网站架构演进(2)数据库与应用服务器分离

随着用户量和并发数的增加,单台服务器出现了性能问题,此时必须要将应用程序和数据库分离,分离后整个网站变成三台服务器了:应用服务器(或称web服务器),数据库服务器和文件服务器.这三台服务器对服务器的配置要求是不一样的,应用服务器需要处理大量的业务逻辑,所以需要更快更强大的CPU,数据库服务器需要快速磁盘检索和数据缓存,所以需要更快的硬盘(现在一般使用SSD)和更大的内存,文件服务器需要存储大量用户上传的文件,所以需要更大容量的硬盘. 数据库与应用服务器分离的架构 数据库与应用服务器分离后明显提升

大型网站架构演进(5)数据库读写分离

在使用缓存后,使大部分的数据读操作访问都可以不通过数据库就能完成,但是仍有一部分读操作(包括未命中缓存的,和缓存过期的)和全部的写操作需要访问数据库,当网站的访问量继续增加后,数据库会因为负载压力过高导致成为网站的性能瓶颈. 目前大部分的主流数据库都提供了主从热血功能,通过配置两台数据库的主从关系,可以将一台数据库服务器的数据同步到另一台服务器上,网站利用数据库的这一功能,可以实现数据库的读写分离,从而改善数据库的负载压力. 应用服务器在写数据的时候,访问主数据库,主数据库通过主从复制机制将数据

大型网站架构之百万PV网站架构案例

一.案例概述 本案例采用四层模式实现,主要分为前端反向代理.web层.数据库缓存层和数据库层. 前端反向代理采用主备模式 web层采用群集模式 数据库缓存层采用主备模式 数据库层采用主从模式 由于实验条件限制,本次实验共打开四台虚拟机,此处实验将前端代理层.数据库缓存层.数据库层服务搭建在前两台虚拟服务器上,web层采用群集模式,用于单独放置两台虚拟机.故本次实验实际模型为了模拟实际环境,服务搭建按照如下拓扑搭建. 二.实验环境 主机名 操作系统 IP地址 用途 server1 centosx8

大型网站架构系列

原文:大型网站架构系列 这个系统总结了在搭建大型网站的过程中,对于架构的搭建,以及选择支撑架构实现的中间件的相关经验. 大型网站架构演进(1)单机网站 大型网站架构演进(2)数据库与应用服务器分离 大型网站架构演进(3)使用缓存改善网站性能 大型网站架构演进(4)使用应用服务器集群 大型网站架构演进(5)数据库读写分离 大型网站架构演进(6)使用NoSQL和搜索引擎 大型网站架构演进(7)数据库拆分 大型网站架构演进(8)业务拆分 大型网站架构演进(9)服务化 中间件(1)分布式缓存 中间件(2

软件架构设计学习总结(12):大型网站技术架构(六)网站的伸缩性架构

网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能,通过不断地向集群中添加服务器来增强整个集群的处理能力."伸"即网站的规模和服务器的规模总是在不断扩大. 1.网站架构的伸缩性设计 网站的伸缩性设计可以分成两类,一类是根据功能进行物理分离实现伸缩,一类是单一功能通过集群实现伸缩.前者是不同的服务器部署不同的服务,提供不同的 功能:后者是集群内的多台服务器部署相同的服务,提供相关的功能. 1.1 不同功能进行物理分离实现伸缩 纵向分离:即分层后分离,将业务处理流程上的不同部分分离