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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • git如何退出vim_git提交的命令

    git如何退出vim_git提交的命令有很多方法:退出Vi当编辑完文件,准备退出Vi返回到shell时,可以使用以下几种方法之一。在命令模式中,连按两次大写字母Z,若当前编辑的文件曾被修改过,则Vi保存该文件后退出,返回到shell;若当前编辑的文件没被修改过,则Vi直接退出,返回到shell。在末行模式下,输入命令:wVi保存当前编辑文件,但并不退出,而是继续等待用户输入命令。在使用

    2022年8月24日
    5
  • 常量表达式是什么_const常量

    常量表达式是什么_const常量常量表达式值(constant-expressionvalue)。通常情况下,常量表达式值必须被一个常量表达式赋值,而跟常量表达式函数一样,常量表达式值在使用前必须被初始化。一、常量表达式1.1运行时常量性与编译时常量性在C++中,我们常常会遇到常量的概念。常量表示该值不可修改,通常是通过const关键字来修饰的。比如:constinti=3;const还可以修饰函数参数、函数返回值、函数本身、类等。在不同的使用条件下,const有不同的意义,不过大多数情况下,const描述的都

    2022年9月27日
    3
  • sqlyog下载安装_sqlyog激活成功教程版

    sqlyog下载安装_sqlyog激活成功教程版地址:https://github.com/webyog/sqlyog-community/wiki/Downloads

    2022年9月23日
    1
  • 经典欧美电影推荐

    经典欧美电影推荐

    2021年5月4日
    93
  • iOS 瀑布流实现「建议收藏」

    iOS 瀑布流实现「建议收藏」一、先来看看最终的效果吧二、创建UI   1.首先我们在viewcontroller中创建一个UICollectionView.//主控制器中#import"ViewController.h"#import"WaterFallCollectionViewCell.h"#import"WaterfallFlowLayout.h"staticconstNSIn…

    2025年7月16日
    4
  • kubectl 命令_numactl命令

    kubectl 命令_numactl命令在清华大学出版社出版的<<Kubernetes零基础快速入门>>一书上看到了总结的Kubectl命令,觉得很不错,比较全,包括有命令的含义以及常见的资源对象,所以分享一下。常

    2022年8月17日
    13

发表回复

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

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