负载均衡

利用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

http高可用+负载均衡 corosync + pacemaker + pcs

∥☆過路亽.° 提交于 2020-02-28 15:18:09
http高可用+负载均衡 corosync + pacemaker + pcsopenstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html #http高可用+负载均衡pacemaker+haproxy #http+corosync+pacemaker+pcs+haproxy #ssh免密验证,必须设置http://www.cnblogs.com/elvi/p/7736521.html ######################## #所有控制节点 #安装Pacemake Corosync yum install corosync pacemaker pcs fence-agents resource-agents -y yum install haproxy httpd -y #启动pcsd systemctl enable pcsd.service systemctl start pcsd.service #修改群集用户hacluster密码 echo centos | passwd --stdin hacluster #http设置 cp /etc/httpd/conf/httpd.conf{,.bak} sed -i 's#^Listen 80#Listen 8080#' /etc/httpd/conf

nginx 基础 4 负载均衡

百般思念 提交于 2020-02-28 11:07:04
1.配置 http 段配置 upstream jing { server 192.168.0.25:80 max_fails=3 fail_timeout=20s weight=1; server 192.168.0.28:80 max_fails=3 fail_timeout=20s weight=2; #后面参数表示如果,连续请求3次失败,停机20s,不接受请求 } #表示创建一个虚拟web组,name "jing" server 段 location / { proxy_pass http://jing/; } #location 匹配到转发给 "jing" 虚拟web组 2. 调度算法 轮询(rr),默认调度算法,将请求平均分配给两个后端主机,假如一个页面10个请求,第一个web主机响应 1 3 5 7 9 第二个主机响应,2 4 6 8 10,注意轮询按请求来负载的。 加权轮询(wrr),和轮询一样就是加了权重,假如web1 "weight=1" ,web2 "weight=2" ,有个页面有9个请求,web1会响应3个,web会响应6个。 ip_hash,每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题 url_hash(第三方)根据用户所请求的url资源路径分配到后端不同的服务器,可以解决后端是缓存服务器提高命中率

Ribbon,负载均衡简介,Ribbon架构,IRULE的7种默认算法

不想你离开。 提交于 2020-02-28 09:54:13
目录 Ribbon简介 负载均衡 Ribbon架构 IRULE的7种默认算法 Ribbon简介 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。 简单的说, Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。 Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是 在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们也很容易使用Ribbon实现自定义的负载均衡算法。 负载均衡 LB,即负载均衡(Load Balance),在微服务或分布式集群中经常用的一种应用。 负载均衡简单的说就是将用户的请求平摊的分配到多个服务上,从而达到系统的HA。 常见的负载均衡有软件Nginx,LVS,硬件 F5等。 相应的在中间件,例如:dubbo和SpringCloud中均给我们提供了负载均衡,SpringCloud的负载均衡算法可以自定义。 集中式LB 即在服务的消费方和提供方之间使用独立的LB设施(可以是硬件,如F5, 也可以是软件,如nginx), 由该设施负责把访问请求通过某种策略转发至服务的提供方; 进程内LB 将LB逻辑集成到消费方

找靓机大促活动业务高峰护航案例

牧云@^-^@ 提交于 2020-02-28 07:59:38
客户简介 找靓机(深圳市万事富科技有限公司旗下app)是一个原装二手数码3C的直卖平台,主营9成新及以上的原装二手iPhone、平板、笔记本以及3C配件等数码产品,并在业内推出了三重质量防护体系--B端自检+平台质检+正品险,同时为用户提供售后服务。 选择阿里云 2019年,万事富首次进行了618大促活动,为保障活动高峰期的平稳度过,阿里云护航团队根据客户业务情况,制定了针对性的的大促保障方案。 首先在充分梳理客户业务架构后,阿里云团队通过分离后台管理业务架构、增加冗余的管理系统、降低业务耦合度等方案,使各个业务可以根据性能需求进行动态扩容。同时,阿里云团队通过全链路压测,对客户应用的各个业务模块性能阀值进行全面分析,并对订单业务、营销业务部分接口性能进行优化和调整。此外,根据压测结果与系统预估阀值进行合理的资源规划使用,并对订单高风险接口进行降级处理,帮助客户轻松应对业务洪峰。 获得的成效 618大促期间,万事富业务量超过平日四倍,QPS最高达到平常的20倍,在阿里云护航团队全程紧密的保障下,客户平稳度过了大促业务高峰期,三天共计成交三万单,销售额突破7千万! 客户在感谢信中提到:“感谢阿里云团队为我们提供了护航保障服务,使我们本次线上促销活动顺利完成,并取得喜人的销量,这是大家共同努力的成果。” 相关产品和服务 相关产品: 云服务器ECS 云服务器(Elastic

负载均衡

ε祈祈猫儿з 提交于 2020-02-28 04:26:40
什么是负载均衡 负载均衡就是将任务按照用户的需求分配到不同的计算机进行处理,大部分情况下并不是均等分配,而是根据服务器的性能等区别,按一定的比例进行分配。 负载均衡的目的是为了分担任务压力,实现高并发,避免单点失效。 常见的负载均衡有软件负载均衡,硬件负载均衡,DNS负载均衡 软件负载均衡 软件负载均衡是指通过软件实现负载均衡,比如LVS(Linux Virtual Server),Nginx。软件负载均衡又分为四层负载均衡和七层负载均衡。 四层负载均衡是指通过网络层的ip地址和传输层的端口进行转发控制,LVS属于四层负载均衡。 七层负载均衡是指通过应用层的http请求头,url等进行负载均衡。Nginx属于可四可七的负载均衡,通常只用来做七层负载。 软件负载均衡成本小,配置简单但安全性低,没有防火墙等。 Nginx Nginx是一个高性能的http和反向代理服务器。为什么说是反向代理,因为正常的代理是多个客户端通过代理访问外部多个服务器,代理服务器代理的是客户端,而反向代理是多个客户端通过代理服务器访问内部多个服务器,此时代理的是服务器端。 Nginx支持万级别的高并发,LVS支持十万级别的高并发。 硬件负载均衡 通过硬件实现负载均衡,比如交换机,常用的硬件设备是F5和A10。具有以下优点: 支持复杂的负载均衡算法 支持百万级别的高并发 安全性能好 DNS负载均衡

使用nginx实现负载均衡

落爺英雄遲暮 提交于 2020-02-28 00:58:59
使用nginx实现负载均衡 1. 轮询 2. 不切换 3. 利用nginx服务器作为备用后端 1. 轮询 这是nginx的自带功能,所以直接在配置文件中添加新的后端即可 在server1中修改配置文件内容: cd /usr/local/nginx cd conf/ vim nginx.conf http { include mime.types ; default_type application/octet-stream ; upstream westos { server 172.25.254.2:80 ; server 172.25.254.3:80 ; #添加新的后端 } nginx -t #语法检测 nginx -s reload #在不暂停服务的情况下重新加载 测试: curl www.westos.org 2. 不切换 如果不希望一直在server2和server3之间切换,而是更倾向与一台机器 当server2宕掉时server3才工作: 在server1中修改配置文件内容: cd /usr/local/nginx cd conf/ vim nginx.conf http { include mime.types ; default_type application/octet-stream ; upstream westos { ip_hash ;

zookeeper应用场景

流过昼夜 提交于 2020-02-28 00:49:12
前言 ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。 值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性,利用其提供的一系列API接口(或者称为原语集),摸索出来的典型使用方法。 zookeeper典型应用场景 1 数据发布与订阅(配置中心) 发布与订阅模型,即所谓的配置中心,顾名思义就是发布者将数据发布到ZK节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新。例如全局的配置信息,服务式服务框架的服务地址列表等就非常适合使用。 应用中用到的一些配置信息放到ZK上进行集中管理。这类场景通常是这样:应用在启动的时候会主动来获取一次配置,同时,在节点上注册一个Watcher,这样一来,以后每次配置有更新的时候,都会实时通知到订阅的客户端,从来达到获取最新配置信息的目的。 分布式搜索服务中,索引的元信息和服务器集群机器的节点状态存放在ZK的一些指定节点,供各个客户端订阅使用。 分布式日志收集系统。这个系统的核心工作是收集分布在不同机器的日志。收集器通常是按照应用来分配收集任务单元

负载均衡技术

我怕爱的太早我们不能终老 提交于 2020-02-27 23:43:37
系统规模达到一定程度,必然会引入对系统扩展性、系统性能、可用性方面的要求,几乎所有的解决方案中,都绕不开负载均衡的应用。 负载均衡实际是冗余技术的一种实现,对于典型的网站类应用系统,对应请求数据流的各个层面,有多种多样的负载均衡实现方案,后端的处理节点也同样如此。 要对网络请求进行负载均衡,首要的是服务无状态,请求可以在服务器组的任意节点处理,服务本身不保存状态数据,或集中管理状态数据,通过共享存储存取会话数据,典型场景如Tomcat集群 + redis。 手机APP可以采用客户端负载均衡,实现对后端服务器的负载轮询,这种方式是将后端服务器列表读取到客户端,客户端程序发起网络请求时,按既定策略对后端服务器组进行轮询,从而实现后端服务器组的负载均衡,这种方式较为少用,实现成本较高,不够灵活。 Web端可以通过DNS实现负载均衡,此种方式通过DNS服务器实现,一个域名绑定了多个IP地址,当浏览器/客户端发起HTTP请求时,首先要进行域名解析,DNS服务器可以将请求的域名解析为离客户端最近的IP地址,就近服务提升响应速度。此种方式缺陷较大,如DNS缓存时间较长,若后端服务崩溃,服务的状态变化无法及时通知DNS服务器,容易影响用户体验;这种方式一般应用于大型系统,如全国各地有多个机房/集群,且各个集群都具备相当高的可用性时,如下图: Web静态资源可以通过CDN实现更大范围的负载均衡

RabbitMQ 集群+负载均衡

左心房为你撑大大i 提交于 2020-02-27 20:51:16
负载均衡 集群的配置已经搭建好了,代码也成功跑通,成功做到了高可用,但是我们的程序连接节点并不会管哪个服务器在忙、哪个服务器空闲,完全看心情想连谁就连谁。而且代码中要把每个ip的节点都手动的写出来 ,既然是手动的就很有可能发现写错这种情况,同样WEB UI 通常也不知道打开哪个好,因为每个服务器都有一个 WEB UI,可能有人说,既然哪个都行,你随便打开一个就是了。但是如果不巧这个服务器后面崩了呢。 基于以前问题,我们就需要一个强大的负载均衡服务器来帮助我们完成这些事情。 这里选择使用 haproxy,看官们可以根据心情来选择自己想要的 这里记一个坑,博主之前想用windows系统做负载均衡服务器,但是实验的时候总是会出错,换到linux后,发现高版本的haproxy不可用!试了几次 1.5.8是可以成功的。 准备工作就是 下载 haproxy,然后在linux下安装 make TARGET=linux26 PREFIX=/usr/local/haproxy #将haproxy安装到/usr/local/haproxy make install PREFIX=/usr/local/haproxy 然后把haproxy.cfg拷贝到安装目录下sbin文件夹中,这里我做了一些配置。包括对WEB UI与集群的负载均衡 global log 127.0.0.1 local0 # log