限流

利用haproxy 作webserver(apache)的负载均衡

天大地大妈咪最大 提交于 2020-02-28 17:13:14
1、要解决的问题 (1)后台web server要考虑扩容和负载均衡; (2)要保护后台webserver ,避免webserver 由于负载过高,造成系统不可用 2、试验环境 haproxy:HA-Proxy version 1.6.0 2015/10/13 apache2 : Server version: Apache/2.4.7 (Ubuntu) Server built: Jan 14 2016 17:45:23 目的:所有访问 192.168.1.2:80 的web 请求,会通过 haproxy 均衡的分配给为 192.168.1.2:8001 192.168.101.2:8002 ,这是两个监听不同端口的apache 服务器; 3、解决思路 让所有 访问haproxy的请求都转发给,8001 和 8002 ,haprxy 要对这些请求进行调度,由8001 和8002 进行实际的处理php 文件 4、配置文件 haproxy :配置文件路径:/etc/haproxy/haproxy.cfg ``` global log 127.0.0.1 local0 #maxconn 20000 #uid 535 #uid和gid按照实际情况进行配置 #gid 520 #chroot /var/chroot/haproxy daemon nbproc 1 defaults log

流量调整和限流技术

▼魔方 西西 提交于 2019-12-06 12:30:58
漏桶算法: https://en.wikipedia.org/wiki/Leaky_bucket 它的主要目的是控制数据注入到网络的速率,平滑网络上的突发流量。漏桶算法提供了一种机制,通过它,突发流量可以被整形以便为网络提供一个稳定的流量。 漏桶可以看作是一个带有常量服务时间的单服务器队列,如果漏桶(包缓存)溢出,那么数据包会被丢弃。 简单的理解为:漏桶算法思路很简单,水(数据或者请求)先进入到漏桶里,漏桶以一定的速度出水,当水流入速度过大会直接溢出,可以看出漏桶算法能强行限制数据的传输速率。 在桶满水之后,常见的两种处理方式为: 1)暂时拦截住上方水的向下流动,等待桶中的一部分水漏走后,再放行上方水。 2)溢出的上方水直接抛弃。 将水看作网络通信中数据包的抽象,则 方式1起到的效果称为Traffic Shaping(流量整形), 方式2起到的效果称为Traffic Policing(流量策略)。 由此可见,Traffic Shaping 的核心理念是“等待”,Traffic Policing 的核心理念是“丢弃”。它们是两种常见的流速控制方法。 在某些情况下,漏桶算法不能够有效地使用网络资源。因为漏桶的漏出速率是固定的参数(恒定的速率往下漏水),所以,即使网络中不存在资源冲突(没有发生拥塞),漏桶算法也不能使某一个单独的流突发到端口速率。因此