构建高并发网站架构

亿级流量网站架构核心技术。(PDF版) 2022-06-08 09:08·Java烟雨江南前言:有过互联网开发经验的人员或许有这样的感受:搭建一个设计精良、功能丰富的网站并不是一件特别困难的事情,但是搭建一个能够支持巨大流量并且运行自如的网站就不是一件轻松的事情了。因为,随着用户规模的增长,网站架构问题的难度也在成倍增加!构建一个亿级流量网站和构建一个中小型网站所用到的技术架构难度截然不同。并且,在实际的具体实践过程中,必须要考虑的问题远比想象中的要多。所以,很多有着中小型网站构建经验的技术人员,并不能很快适应大型网站的构建实践。最近很多小伙伴问 阅读详情
大型网站特点
  1. 并发数高,访问量大   http://alexa.chinaz.com
  2. 数据量大
  3. 用户分布广泛,网络环境复杂
  4. 稳定性高
  5. 易于扩展
  6. 安全性高

基础设施
服务器介绍: 塔式服务器、机架式服务器、刀片式服务器
虚拟主机、vps(虚拟机)、服务器、云主机
网络设备介绍: 交换机、防火墙、路由器
存储设备介绍: SAN、NAS、DAS 
SAN:(Storage Area Network,存储区域网络)通过光纤通道连接到一群计算机上。在该网络中提供了多主机连接,但并非通过标准的网络拓扑。
NAS:(Network Attached Storage,网络连接存储)即将存储设备通过标准的网络拓扑结构(例如以太网),连接到一群计算机上。NAS是部件级的存储方法,它的重点在于帮助工作组和部门级机构解决迅速增加存储容量的需求。
DAS:(Direct Access Storage,直接连接存储)是指将存储设备通过SCSI接口或光纤通道直接连接到一台计算机上。

基础概念
http协议简述 Hyper Text Transfer Protocol
超文本传输协议,端口80、443(加密https)
主流版本为1.1,相比较1.0最大区别在于支持持久化(长连接)、支持host请求头字段(一台服务器支持不用域名)
请求方法包括:GET、POST(提交表格、字段到服务器)、HEAD(curl -I www.baidu.com)、PUT(上传图片等文件到服务器)、DELETE、MOVE(301、302跳转)等。。。。
常见状态码:200(正常)301(永久重定向)、302(临时重定向)、304(网站缓存)、401(验证,验证对为200,错为401)、403(禁止访问)、404(服务器上没有这个文件 not found)、500(php脚本错误)、502(nginx找不到后端php)、503(squid代理后端的网站不正常)、504(LANP\LAMP站点Mysql访问过慢,访问出错)

Http Header:request header、response header
HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应。
就整个网络资源传输而言,包括message-header和message-body两部分。
首 先传递message- header,即http header消息 。
http header 消息通常被分为4个部分:general  header, request header, response header, entity header。
根据维基百科对http header内容的组织形式,大体分为Request和Response两部分。

referer:先前网页的地址,当前请求网页紧随其后,即来路。当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器藉此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。

useragent:用户代理 User Agent,是指浏览器,它的信息包括硬件平台、系统软件、应用软件和用户个人偏好。

用户访问网站过程:
用户浏览器输入网址--本机DNS服务器解析域名为IP--Web浏览器将请求发送给远程服务器--客户端服务端建立TCP连接--传输数据--关闭连接

网站元素:
MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型
设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。
text->html、css、plain
application->javascript
image->gif

URL、URI、URN区别
URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。
URL,是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。
URN,是uniform resource name,统一资源命名,是通过名字来标识资源,比如mailto:java-net@java.sun.com。
也就是说,URI是以一种抽象的,高层次概念定义统一资源标识,而URL和URN则是具体的资源标识的方式。URL和URN都是一种URI。
打开一个网站,查看源代码,搜索href,出现的都是URI。

静态网页、动态网页、伪静态网页

常见Web服务器
apache(httpd)、Tomcat、Resin、IIS、Nginx

量级术语
什么是IP、UV、PV、DAU、MAU
IP:访问网页独立IP(公司里访问一个网站,公司只有一个IP,但是访问人数有100人,那么IP=1,UV=100)
UV:unique visitor,独立访客,一天内相同访客访问同一网站,只算一个独立访客
PV:page view,页面浏览量
DAU:Daily Active User,日活跃用户数量
MAU: Monthly active users,月 活跃用户数量

并发连接数:同时访问服务器站点的链接数
吞吐量 :指对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量(以比特、字节、分组等测量)。

如何评估网站的最大并发连接数?
  1. 专业工具loadrunner
  2. Apache自带压力测试工具ab(临时紧急任务和简单测试)
ab -c 100 -n 1000  www.baidu.com/index.php
重要指标
Request per second      每秒请求次数(吞吐量)
Time per request          每个请求花费时间

Web网站的几个并发量级

如何统计网站访问量?
  1. 接入第三方统计平台(CNZZ、51LA、百度统计)
  2. 通过分析访问日志(access.log)做统计awstat

服务器配置预估
  • 8核至强E5 8G内存 (LNMP纯php+mysql架构可以跑300个进程,150并发连接数,响应时间明显变慢,吞吐量不会高于150)
  • 通常所说的并发并不单单是动态并发,还包括静态
  • Discuz论坛一个页面静态内容占据90%以上,不同网站类型动静态所占比例不同。
  • 二八原则:指80%的业务量(PV)在20%的时间里完成。
  • 若动态并发150,静态并发为600,整体并发为750(2:8原则)。
  • 24H*20%*3600S*150/80%=340W PV 包含动态和静态,如果只算动态不要除以80%
  • 真实的PV还需要加上搜索引擎以及其他非人为访问也要占到30%~50%

网站架构角色





日活千万亿级网站架构之道——系统性地讲述网站架构设计的理论和实践; 作者:禅与计算机程序设计艺术 1.简介 近几年,互联网行业迎来了一场“移动互联网”的革命,而中国作为目前世界上互联网规模最大的国家,其互联网用户规模已经超越美国,成为全球第二大经济体。而网站也成为最具代表性的互联网产品之一。但是随着互联网行业的发展,网站的规模、复杂程度也在不断增加,给网站的架构设计带来 阅读详情

相关推荐

SQL Server 2025在Windows 11上的安装避坑指南

SQL Server 是微软主流关系型数据库管理系统,其安装与Windows操作系统深度耦合;Windows 11作为新一代桌面平台,强化了基于虚拟化的安全(HVCI)、驱动签名强制策略(WDAC)及内核隔离机制,导致传统数据库部署流程失效。理解二者底层交互原理,是解决服务启动失败、配置管理器无法打开、远程连接被拒等高频问题的技术前提。本文聚焦SQL Server 2025与Windows 11的兼容性挑战,覆盖系统预配置、安装节点诊断、防火墙与服务权限调优等工程实践环节,适用于高校教学、电赛备赛、中小企业

weixin_28741413的博客 323

分布式系统:高并发

高并发是指系统在同一时间内处理大量请求的能力。在软件开发中,为了应对高并发的情况,通常需要进行系统架构设计、代码优化、缓存策略等方面的优化。高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。1)提升系统的高并发的能力;2)流量控制:通过分流,削峰、限流等业务、技术手段分散流量;1.对于秒杀这样的高并发场景业务,最基本的原则就是将请求拦截在系统上游,降低下游压力。

拾一二的博客 2045

深入解析PVT corner:从wcl到ml的芯片设计关键考量

本文深入解析了芯片设计中的PVT corner概念,重点探讨了从传统WC到先进工艺下WCL、ML等关键工艺角。文章详细阐述了温度反转效应如何使低温WCL成为最严苛的时序场景,并提供了基于先进工艺的实战签核策略与多角多模分析流程,确保芯片在极端工艺、电压、温度下的稳健性。

tree8的博客 530

Nginx三大功能及高并发分流

Nginx三大功能及高并发分流技术 目录:Nginx三大功能及高并发分流技术一、什么是Nginx二、Nginx的三大功能1、反向代理功能(核心功能,其他功能的依托,其实就是请求转发)2、负载均衡功能(分流)nginx的5种负载均衡策略3、Nginx动静分离(作为静态资源服务器)(1)Linux安装Nginx(2)nginx.conf动态请求静态资源域名映射三、Nginx高可用什么是Keepalived如何使用 keepalived+nginx 实现高可用ps:关于查看nginx进程的问题 一、什么是Ngin

书山有鹿的博客 1634

科普:Frenet坐标

理想情况下,描述这种常见驾驶行为在数学上应该很容易。一种方法是使用新的坐标系。现在,而不是放下一个正常的笛卡尔网格,我们做一些事情,就像你看到下面…Frenet Coordinates是一种以比传统x,y笛卡尔坐标更直观的方式表示道路位置的方式。如果我们想要方程式来描述这个动作,那就不容易了!想象一下像下面这样一条弯曲的道路,笛卡尔坐标系就位于它的上面…使用这些笛卡尔坐标,我们可以尝试描述车辆通常在路上行驶的路径…那么在Frenet坐标系下呈现的典型轨迹是什么样的?在这里,我们定义了一个新的坐标系统。

OceanStar的博客 1万+

Plant Simulation数字孪生实战:从零搭建生产车间模型(附SimTalk脚本示例)

本文详细介绍了如何使用Plant Simulation从零构建生产车间数字孪生模型,包括基础建模、SimTalk脚本编程、参数化设计和高级应用。通过实战示例展示动态逻辑控制、设备故障模拟等关键技术,帮助工程师快速掌握数字孪生技术在制造业中的应用。

weixin_42527160的博客 361

高并发的小结

高并发问题 从技术角度,秒杀,抢票对于web系统是一个巨大的考研,当web系统一秒内收到数以万计甚至更多请求时,系统的优化和稳定至关重要,目前并没有权威的技术和设计,只有长期的经验总结 高并发衡量指标 系统吞吐量 是指在给定的时间段内系统完成的请求的数量 即系统的吞吐量越大,说明系统在单位时间内完成的用户或系统请求越多,系统的资源充分利用 QPS(Query Per Second) 每秒...

Java技术博客 4480

用Navicat轻松管理魔兽世界私服数据库:修改IP、添加装备的实用技巧

本文详细介绍了如何使用Navicat管理魔兽世界私服数据库,包括修改服务器IP、添加自定义装备和调整角色属性等实用技巧。通过专业的SQL操作指南,帮助玩家轻松实现私服的高级定制,提升游戏体验。

fanta的博客 948

如何设计高并发的架构

纵向和横向 通用的设计方法主要是从「纵向」和「横向」两个维度出发,俗称高并发处理的两板斧:纵向扩展和横向扩展。 纵向扩展(scale-up) 它的目标是提升单机的处理能力,方案又包括: 1、提升单机的硬件性能:通过增加内存、CPU核数、存储容量、或者将磁盘升级成SSD等堆硬件的方式来提升。 2、提升单机的软件性能:使用缓存减少IO次数,使用并发或者异步的方式增加吞吐量。 横向扩展(scale-out) 因为单机性能总会存在极限,所以最终还需要引入横向扩展,通过集群部署以进一步提高并

Your_is_my_God的博客 7150

GOM引擎单机传奇架设全攻略——从DBC2000配置到登录器生成

本文详细解析了使用GOM引擎架设单机传奇的完整流程,从DBC2000的安装配置、服务端部署、引擎控制器设置,到登录器生成与客户端补丁放置。文章重点解决了单机架设中的常见问题,如数据库路径配置、IP地址设置及Key.lic文件处理,旨在帮助玩家快速搭建稳定的个人游戏环境,体验GM乐趣。

weixin_28318011的博客 639

⭐️VMwareWorkstation17.0虚拟机安装搭建Windows 7虚拟机(完整图文详细步骤含配置VMware Tools教程)

本教程为大家提供了从安装VMware Workstation 17.0开始,到在虚拟机上成功搭建Windows 7专业版系统的完整步骤。我们详细介绍了准备阶段所需的软件和硬件要求,以及在VMware中配置和安装Windows 7系统的每一步操作。此外,我们还特别提到了如何在虚拟机上配置VMware Tools,以便更好地与宿主机进行交互。 通过本教程的学习,读者不仅能够掌握在VMware Workstation 17.0上安装Windows 7虚拟机的技能,还能了解到如何配置虚拟机的硬件以及安装VMwar

Python老吕的博客 2万+

构建高并发平台架构

一、设计理念 1.空间换时间 1)多级缓存,静态化 客户端页面缓存(http header中包含Expires/Cache of Control,last modified(304,server不返回body,客户端可以继续用cache,减少流量),ETag) 反向代理缓存 应用端的缓存(memcache) 内存数据库 Buffer、cache机...

zhangke1985的专栏 863

Camunda 7.x 系列【22】全局监听器

Camunda支持义一个全局ExecutionListener和一个全局TaskListener,会捕获流程中发生的所有事件的通知,这样可以定义一个全局的审批人检查监听器,作用于所有用户任务。

记录知识、锤炼自我 2942

一、一步步构建高并发分布式网站架构

前言 适合对象 我用LA(N)MP ✔ 我用ThinkPHP5 ✔ 我为小但逐渐发展网站工作 ✔ 我开发/管理的PHP网站遇到了瓶颈 ✔ 我会基本操作 ✔ 本文会带你了解一般的适合PHP网站的分布式系统的构建,对一个PHP程序员来说,应该易于理解、实现,希望能实际解决你的网站的性能瓶颈。 本文的结构也是:概念+实际操作,希望本书对你即有思想提升也有实用价值。 你怎么想的? 首先,我们得在一点上达成...

编程算啥事(公总号)的博客 604

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

一、一步步构建高并发分布式网站架构(1.1)

1.1 分什么布 我尽量不把这类文章写成软件工程专业的死板教学用书。但是每章第一节的确都是构建一个健全系统不可或缺的概念知识。 其实在前言中,我就已经叨叙了为什么要使用分布式架构。简而言之,就是要采用“分而治之”的思想,将网站这个大系统分成不同的子系统,每个子系统各尽其职,承担负载。 分布式系统实际上是一个很广泛的概念,不仅指网站的构架。因为这本书主要是讲PHP网站(实际操作更是ThinkPHP5...

编程算啥事(公总号)的博客 617

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

一、一步步构建高并发分布式网站架构(1.2)

1.2 瓶颈分析 不同网站有不同的属于该类型网站的特定性能瓶颈。比如资讯类网站大部分在进行读数据库,文件存储类网站大部分在进行文件I/O操作,而如果网站业务是计算密集型,性能瓶颈一般在CPU。 1.2.1 Linux 下的性能监测 要找到网站的瓶颈就不得不学会对系统状况的检测和分析。我们这里介绍一些常见的Linux性能监测指令和工具。 Top指令: CPU/内存情况 top #top 指令可以显示...

编程算啥事(公总号)的博客 945

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

高并发web服务器nginx网站架构

高并发web服务器nginx网站架构 点击下载

qq_38898288的博客 332

如何才能做到网站高并发访问

文章架构简图:   高并发访问的核心原则其实就一句话“把所有的用户访问请求都尽量往前推”。 如果把来访用户比作来犯的"敌人",我们一定要把他们挡在800里地以外,即不能让他们的请求一下打到我们的指挥部(指挥部就是数据库及分布式存储)。 如:能缓存在用户电脑本地的,就不要让他去访问CDN。 能缓存CDN服务器上的,就不要让CDN去访问源(静态服务器)了。能访问静态服务器的,就不要去访问动态

u012485320的专栏 649

高并发网站如何构架

今天看了一下关于高并发网站的架构方案,记录一下: 1.多台服务器支撑业务系统水平扩展 只要业务系统可以随时水平扩展,这样的架构理论上可以扛住任意流量的访问。 可以选用传统的负载均衡技术来进行流量分发,支撑多服务器。常用的负载均衡技术硬件的如F5,价格比较贵;软件的有LVS、Nginx、HAP...

chuotuo7519的博客 286

浅谈千万级PV/IP规模高性能高并发网站架构

文章架构简图:   高并发访问的核心原则其实就一句话“把所有的用户访问请求都尽量往前推”。 如果把来访用户比作来犯的"敌人",我们一定要把他们挡在800里地以外,即不能让他们的请求一下打到我们的指挥部(指挥部就是数据库及分布式存储)。 如:能缓存在用户电脑本地的,就不要让他去访问CDN。 能缓存CDN服务器上的,就不要让CDN去访问源(静态服务器)了。能访问静态服务器的,就不要去访问动态

尹自强.DoSomething() 633

【热门】用 Java 构建高并发电子商务网站(详细教程+代码)

如果缓存中没有,就从数据库(通过 ProductRepository )中查询获取,然后将查询到的商品信息存入 Redis 缓存中,并设置一定的过期时间(这里是 1 小时),以防止缓存数据过时。消息队列:对于一些非实时性要求高的任务(如发送邮件、生成报表、更新索引等),可以将任务放入消息队列(如 RabbitMQ、Kafka)中,由后台线程异步处理,避免阻塞主线程。索引优化:为经常用于查询、连接和排序的列创建合适的索引,但要注意避免过度索引,因为过多的索引会影响数据插入、更新和删除的性能。

2401_86187906的博客 1308

亿级流量网站架构设计之高可用、高并发知识栈

下图是构建亿级流量网站的高可用和高并发需要掌握的知识图谱,来自《亿级流量网站架构核心技术 跟开涛学搭建高可用高并发系统》

疯一样的女子 844

关于大规模高并发访问技术探讨资料采集

高并发高负载的大型网站系统架构大规模网站架构技术原理透析

望月思灵 718

京东研发一哥力荐的高可用网站构建技术PDF,太赞了

高并发原则高可用原则业务设计原则总结。

m0_74931226的博客 154

高并发高流量网站架构

Web2.0 的兴起,掀起了互联网新一轮的网络 创业大潮。以用户为导向的新网站建设概念,细分了网站功能和用户群,不仅成功的造就了一大批新生的网站,也极大的方便了上网的人们。但 Web2.0 以用户为导向的理念,使得新生的网站有了新的特点——高并发,高流量,数据量大,逻辑复杂等,对网站建设也提出了新的要求。     本文围绕高并发高流量的网站架构设计问题,主要研究讨论了以下内容: ...

塵风的blog 176
上一篇: [1] Centos 7.3 前奏
下一篇: [3] Centos 7.3 用户和组管理
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值