HAProxy+Redis实现负载负载均衡(待实践)
为什么要使用HA,原因是可以聚合出一个VIP,也就是可以使用单一IP来访问下面多个Redis的实例。
首先说明一下,如果基于3.0以后搭建的官方原始Redis Cluster方案,使用HAProxy是没什么效果的,打个比方,如果使用HA聚合出一个VIP,然后通过这个VIP访问时,会根据Key返回MOVED的命令,然后客户端通过协议识别MOVED命令去连接另一台Redis取数据,那么此时就会访问原始IP,而不是HA的VIP,也就是绕过去了,造成HA是多余的一个点。所以HA对于这种模式是无效的。
参考:https://stackoverflow.com/questions/31785184/redis-cluster-via-haproxy
再次说明,原来Redis还可以通过HA实现负载均衡。
但是这种模式配置可能有点难以理解,比如:
1、如果是基于Redis的原生主从复制时,从节点写的数据不会同步到主节点,那么用HA也是没什么效果的。
2、如果不用主从复制,单纯的部署多个Redis时,通过HA确实能负载多台,但是会有这个现象,比如我写的时候是A,而读的时候到了B,也就造成数据不同步,写时也会有这个现象。
那么通过以上问题,看下下面的解决分析:
先说下以下两篇文章提到的HA+Redis的实现:
http://blog.csdn.net/citi007/article/details/39636567
http://blog.csdn.net/ownfire/article/details/39373399
是不能用的,就单纯的两个Redis,期间没有配置主从和哨兵或者Twemproxy的模式,是完全不能实现,所以以上是反面教材。
下面说下要实现HA来做负载均衡所要具备的条件和解决上述问题的分析:
1、一般HA是结合Twemproxy和哨兵模式一起使用。
2、如果使用Twemproxy时,本身T是一个代理层,用于分片算法,而T支持平行节点部署来达到T的集群,然后可以通过HA来做IP的聚合实现负载均衡指向T的集群。
3、如果基于哨兵模式的Redis集群时,那么HA需要在负载均衡规则上做过滤条件,哨兵本身不能写数据,就需要把所有的发送流量指向master,也就是主节点。
4、当然,再高可用就是HA+哨兵+T的组合。
下面这篇文章是Redis集群方案最全的一篇:
http://blog.csdn.net/shmilychan/article/details/73433804
下面这些文章是HA做负载均衡找到的突破口(留意规则的过滤):
https://karlstoney.com/2015/07/23/redis-sentinel-behind-haproxy/
https://www.haproxy.com/blog/haproxy-advanced-redis-health-check/
https://serverfault.com/questions/772064/redis-haproxy-updated-configuration-settings
http://www.cnblogs.com/xiazh/archive/2012/11/13/2630846.html
http://blog.csdn.net/houzhe_adore/article/details/48262873
http://blog.csdn.net/houzhe_adore/article/details/48245435
http://www.cnblogs.com/tzm7614/p/5691912.html
http://blog.csdn.net/ownfire/article/details/39373399
HAProxy+Redis实现负载负载均衡(待实践)的更多相关文章
- Keepalived+HAproxy实现高可用负载均衡
总概: Keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层.第4层和第5层交换.Keepalived的作用是检测web服务器的状态, ...
- Nginx反向代理与负载均衡应用实践(一)
Nginx反向代理与负载均衡应用实践(一) 链接:https://pan.baidu.com/s/1xB20bnuanh0Avs4kwRpSXQ 提取码:migq 复制这段内容后打开百度网盘手机App ...
- Keepalived+HAProxy 搭建高可用负载均衡
转载自:https://mp.weixin.qq.com/s/VebiWftaRa26x1aA21Jqww 1. 概述 软件负载均衡技术是指可以为多个后端服务器节点提供前端IP流量分发调度服务的软件技 ...
- Mysql的Haproxy反向代理和负载均衡
HaProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.应用到Haproxy主要是因为他免费,并且基于TCP和HTTP的应用代理. ...
- 【架构】RPC 使用 Haproxy、keepalive作为负载均衡
参考资料: Haproxy+keepalived 高可用负载: http://www.tuicool.com/articles/qY7Rz23 keepalived原理(主从配置+haproxy)及 ...
- lvs(+keepalived)、haproxy(+heartbeat)、nginx 负载均衡的比较分析
目前使用比较多的就是标题中提到的这两者,其实lvs和haproxy都是实现的负载均衡的作用,keepalived和heartbeat都是提高高可用性的,避免单点故障.那么他们为什么这么搭配,而又有什么 ...
- 案例一(haproxy+keepalived高可用负载均衡系统)【转】
1.搭建环境描述: 操作系统: [root@HA-1 ~]# cat /etc/redhat-release CentOS release 6.7 (Final) 地址规划: 主机名 IP地址 集群角 ...
- 005.HAProxy+Keepalived高可用负载均衡
一 基础准备 1.1 部署环境及说明 系统OS:CentOS 6.8 64位 HAProxy软件:HA-Proxy version 1.5.18 Keepalived软件:keepalived-1.3 ...
- 基于HAProxy+Keepalived高可用负载均衡web服务的搭建
一 原理简介 1.HAProxyHAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web ...
- (转载)Nginx/LVS/HAProxy三种主流负载均衡软件的对比
原地址:http://www.ha97.com/5646.html PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些 ...
随机推荐
- 学习笔记 第十章 使用CSS美化表单
第10章 使用CSS美化表单 [学习重点] 正确使用各种表单控件 熟悉HTML5新增的表单控件 掌握表单属性的设置 设计易用性表单页面 10.1 表单的基本结构 表单包含多个标签,由很多控件组成 ...
- 51全志R58平台Android4.4下Camera的HAL层修改
51全志R58平台Android4.4下Camera的HAL层修改 2018/11/7 15:20 版本:V1.0 开发板:SC5806 1.系统编译: (略) 2.全志R58平台Android4.4 ...
- Sqlmap脱库之“你的数据我所见”
废话不多说,介绍和理论啥的网上一搜一大把,一次只为tuoku. 实战操作: 1.在网上找个index.php?id=1的站点 2.很明显看到了脱下裤子的希望,sqlmap走一把.查看数据库 3.怎么看 ...
- c++通过管道pipe获取cmd输出的字符
#include <stdio.h>#include<iostream>#include<string>using namespace std; // 描述:exe ...
- raw cannot be resolved or is not a field解决办法
解决raw文件夹问题 查看左侧项目/res文件夹下是否有raw文件夹,(一定是放到res文件夹下,raw在项目开始创建时候不会自动创建,所以要自己创建)
- 学习 微信小程序 大神不要笑
- idea 一些设置
idea 中编码格式:VM options 中输入:-Dfile.Encoding=UTF-8 添加tomcat 当+号中没有tomcat时,先看有没有tomcat插件,没有则进行添加,然后 ...
- 【东软实训】SQL多表链接
如果一个查询同时涉及两个以上的表,则称之为链接查询,链接查询是关系数据库中最主要的查询,主要包括等值链接查询.非等值链接查询.自身链接查询.外链接查询和复合条件链接查询. 这篇博文我们来对多表链接进行 ...
- CF1000G Two-Paths
题目大意:给你一棵树,其中点上和边上都有值.定义2-Path为经过一条边最多两次的路径,价值为经过点的权值加和-经过边权值*该边经过次数.4e5组询问,每次询问树上连接x,y两点的2-Path的最大价 ...
- 初识 Spring 框架
初识 Spring 框架可以帮助我们构建规范的.优秀的应用程序,简化烦琐的编码过程. Spring 是一个非常著名的轻量级的企业级开源框架,Spring 的目标是使 Java EE 更易用并促进良好的 ...