PHP如何解决网站大流量与高并发的问题(三)

PHP如何解决网站大流量与高并发的问题(三)

大家好,又见面了,我是全栈君。

七层负载均衡的实现

基于URL等应用层信息的负载均衡

Nginx的proxy是一个很强大的功能,实现了7层负载均衡

功能强大、性能卓越,运行稳定

配置简单灵活

能自动提出工作不正常的后端服务器

上传文件使用异步模式

支持多种分配策略,可以分配权重

Nginx负载均衡有内置策略,扩展策略两种方式

内置策略

  • IP Hash

    流程和轮询很相似,是一种变相的轮询算法

  • 加权轮询

    首先将请求分给高权重的机器,知道该机器的权值降到了比其他机器低,才开始将请求分给下一个高权重的机器

当所有后端机器都down掉时,Nginx会立即将所有机器的标志位清成初始状态,以避免造成所有的机器都处在timeout的状态

扩展策略

  • fair 策略

    根据后端服务器的响应时间判断负载情况,从中选择出负载最轻的机器进行分流

  • 通用hash

    以nginx内置的变量为key进行hash

  • 一致性hash

    支持mem

Nginx配置方案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#nginx.conf
http{
upstream cluster{
server srv1;
server srv2;
server srv3;
}
server {
listen 80;
location / {
proxy_pass http://cluster
}
}
}

四层负载均衡实现

通过报文中的目标和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器

LVS实现服务器集群负载均衡有三种方式NAT,DR,TUN

转载:https://zhyunfe.github.io/2017/10/03/php-interview-prepare-hc-3/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112152.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pytest运行_python压测

    pytest运行_python压测前言pytest运行完用例之后会生成一个.pytest_cache的缓存文件夹,用于记录用例的ids和上一次失败的用例。方便我们在运行用例的时候加上–lf和–ff参数,快速运行上一

    2022年7月29日
    2
  • glusterfs分布式文件存储搭建和使用[通俗易懂]

    glusterfs分布式文件存储搭建和使用[通俗易懂]Glusterfs简介GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS借助TCP/IP或InfiniBandRDMA网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。说起glusterfs可能比较陌生,可能大家更多的听说和使用的是NFS,GFS,HDFS之类的,这之中的NFS应该是使用最为广泛的,简单易于管理,但是NFS以及后边会说到..

    2022年5月30日
    62
  • Java面向对象编程三大特征 – 封装

    Java面向对象编程三大特征 – 封装本文关键字:Java、面向对象、三大特征、封装。封装是面向对象编程中的三大特征之一,在对封装性进行解释时我们有必要先了解一些面向对象的思想,以及相关的概念。

    2022年7月25日
    3
  • CharacterEncodingFilter 失效[通俗易懂]

    CharacterEncodingFilter 失效[通俗易懂]characterEncodingFilter      org.springframework.web.filter.CharacterEncodingFilter               encoding         UTF-8                     forceEncoding         t

    2022年7月12日
    16
  • 圆柱体积公式怎么算立方米_长方体计算体积公式

    圆柱体积公式怎么算立方米_长方体计算体积公式想要求圆柱的体积必须要记住圆柱对应的公式,下面小编为大家提供圆柱体积怎么算,希望对大家有所帮助。求圆柱体积的算法求圆柱体积先要求圆基的半径。两个圆都会做,因为它们大小相同。如果你已经知道半径,你可以继续前进。如果你不知道半径,那么你可以用尺子测量圆的最宽部分,然后除以2。这将比测量直径的一半更准确。我们说,这个圆筒的半径是1英寸(2.5厘米)。把它写下来。如果你知道这个圆的直径,就把它分成2个。…

    2022年9月20日
    0
  • mysql语句和sql语句的区别_oracle和sqlserver的语法区别

    mysql语句和sql语句的区别_oracle和sqlserver的语法区别sql和mysql语法的区别有:mysql支持enum和set类型,sql不支持,mysql需要为表指定存储类型,mysqlL中text字段类型不允许有默认值,sql允许有等等方面都存在差异MySQL与SQLServer的语法区别1、MySQL支持enum,和set类型,SQLServer不支持2、MySQL不支持nchar,nvarchar,ntext类型3、MySQL的递增语句是AUTO_I…

    2022年10月2日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号