首页 > 编程语言 >php如何解决高并发

php如何解决高并发

时间:2023-06-28 15:47:52浏览次数:33  
标签:缓存 CDN 代理服务器 并发 集群 解决 服务器 php 页面

PHP交流群  656679284  为PHP广大爱好者提供技术交流,有问必答,相互学习相互进步!

 

1、应用和静态资源分离

将静态资源(js,css,图片等)放到专门的服务器中。

 

2、页面缓存

将应用生成的页面缓存起来可以节省大量cpu资源。对于部分页面经常变换数据的,可以使用ajax来处理。

 

3、集群和分布式

集群,多台服务器具有相同的功能,主要起分流的作用。分布式,将不同的业务放到不同的服务器中,处理一个请求可能需要多台服务器,进而提高一个请求的处理速度。又分为静态资源集群和应用程序集群。后者较复杂,经常要考虑session同步等问题。

 

4、反向代理

客户端直接访问的服务器并不是直接提供服务的服务器,它从别的服务器获取资源,然后将结果返回给用户。

代理服务器是代我们访获取资源,然后将结果返回。例如,访问外网的代理服务器。反向代理服务器是我们正常访问一台服务器的时候,服务器自己调用了别的服务器。

代理服务器我们主动使用,是为我们服务的,不需要有自己的域名;反向代理是服务器自己使用的,我们并不知道,有自己的域名。

 

5、CDN

CDN是一种特殊的集群页面缓冲服务器,和普通的集群的多台页面缓冲服务器相比主要区别是:其存放位置和分配请求方式不同。

CDN的服务器分布在全国各地,接收到请求后会将请求分配到最合适的CDN服务器节点来获取数据。其每一个CDN节点就是一个页面缓存服务器。

 

处理高并发的业务逻辑是:

前端:异步请求+资源静态化+cdn

后端:请求队列+轮询分发+负载均衡+共享缓存

数据层:redis缓存+数据分表+写队列

存储:raid阵列+热备

网络:dns轮询+DDOS攻击防护

标签:缓存,CDN,代理服务器,并发,集群,解决,服务器,php,页面
From: https://www.cnblogs.com/liuxd/p/17511523.html

相关文章

  • 解决TrueNAS中Smb共享文件路径不区分大小写的问题
    问题在Truenas中,默认的smb文件分享中,文件夹是不区分大小写的.这在一些情况下会导致无法重命名等问题,严重时可能会造成拷贝文件时的全文件夹文件丢失.这是linux下的情况,在已存在others文件夹的情况下,若再新建Others文件夹,会提示目录已存在,但实际上两个目录大小写......
  • PHP根据身份证号码,获取性别、获取生日、计算年龄等多个信息
    /***根据身份证号码获取性别*@paramstring$idcard身份证号码*@returnint$sex性别1男2女0未知*/functionget_sex($idcard){if(empty($idcard))returnnull;$sexint=(int)substr($idcard,16,1);return$sexint%2===0?'女'......
  • 【HarmonyOS】一文教你快速解决低代码连接器返参数据结构嵌套错误问题
    ​【关键字】低代码平台、连接器、返参数据结构嵌套 【写在前面】关于低代码平台中的连接器如何使用,请参考以下内容:https://blog.51cto.com/u_15687416/6414269下文将会介绍连接器在实际使用中遇到的一个常见的问题。 【问题描述】1、云侧接口定义首先来一起看一下云......
  • 靳宇灵 | FastIm即时通讯系统websoket端口被占用后解决命令
    您可以使用以下命令来查看占用端口2088的程序:对于Linux/macOS系统:sudolsof-i:2088对于Windows系统:netstat-ano|findstr:2088查看结果后,您将看到占用端口2088的程序的PID(进程ID)。通过查找这个PID,您可以找到占用该端口的程序或进程。根据查询结果来看,进程ID(PID)为21754、21......
  • python zipfile 打包压缩 层级过多的解决措施
    zipfile使用详细https://www.cnblogs.com/yyds/p/6427349.html解决方案https://blog.csdn.net/csrh131/article/details/107895772操作案例和总结https://blog.51cto.com/u_16055028/6475844https://mp.weixin.qq.com/s/2RDCnQLORmn8kMHJsOhenA......
  • 以创造性解决核心问题赢得家庭护理市场竞争
    01.居家护理服务市场现状、趋势和挑战随着全球人口老龄化的趋势日益明显,养老及居家护理服务市场正逐渐成为社会关注的焦点。在这一背景下,养老居家护理行业的发展和创新显得尤为重要。本篇文章将对养老及居家护理服务市场的现状进行分析,并探讨行业发展趋势和挑战。养老及居家护......
  • Transaction rolled back because it has been marked as rollback-only大概问题及解
    Transactionrolledbackbecauseithasbeenmarkedasrollback-only问题:前几天遇到一个问题,代码没有抛出我想要的带自定义提示消息的异常,却报了个这个,去搜了一下,大概原因如下:因为我在controller的方法上写了@Transactional注解,里边调用的service的方法上也写了@Transactiona......
  • Git忽略部分修改的方法(.gitignore添加忽略文件不起作用的解决办法)
    背景:有时候本地修改,有些修改不需要提交上库,所以需要进行部分文件的修改进行忽略处理。 一、.gitignore方式忽略.gitignore文件中只能忽略本地新增的目录或者文件,这个文件默认会被提交上库,除非该文件添加了忽略自身。 二、.git/info/exclude方式忽略.git/info/exclude文件......
  • 解决:远程连接mysql:报异常,1044 - Access denied for user ‘root‘@‘%‘ to database
    Navicat报错:使用Navicat远程连接,Docker中的mysql5.6时报异常,:1044-Accessdeniedforuser'root'@'%'todatabase'xxx'问题原因:(1)根本原因:远程连接用户权限不足!(2)直接原因:应该是创建远程连接用户‘root@%’时,没有添加访问数据库的权限。解决办法:#这里为刚才创建的root@......
  • 如何解决MQTT消息积压
    什么是消息积压?大量消息被堆积在broker端,没有被消费。为什么会消息积压?宏观角度主要原因是:producer端生产速度>consumer端消费速度。导致producer端生产速度>consumer端消费速度的情况有多种:设计的时候就没有考虑消费速度要大于生产速度,这种情况最不应该。某一时刻......