haproxy+多台mysql从服务器(slave)实现负载均衡

haproxy+多台mysql从服务器(slave)实现负载均衡

ID:28567150

大小:683.84 KB

页数:8页

时间:2018-12-11

haproxy+多台mysql从服务器(slave)实现负载均衡_第1页
haproxy+多台mysql从服务器(slave)实现负载均衡_第2页
haproxy+多台mysql从服务器(slave)实现负载均衡_第3页
haproxy+多台mysql从服务器(slave)实现负载均衡_第4页
haproxy+多台mysql从服务器(slave)实现负载均衡_第5页
资源描述:

《haproxy+多台mysql从服务器(slave)实现负载均衡》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Haproxy+多台MySQL从服务器(Slave)实现负载均衡2015-08-28本系统采用MySQL一主多从模式设计,即1台MySQL“主”服务器(Master)+多台“从”服务器(Slave),“从”服务器之间通过Haproxy进行负载均衡,对外只提供一个访问IP,当程序需要访问多台"从"服务器时,只需要访问Haproxy,再由Haproxy将请求分发到各个数据库节点。我们的程序可以有俩个数据源(DataSourceA,DataSourceB),一个(DataSourceA)直接连接主库,另外一个(DataSourceB)连接

2、Haproxy,当需要写入操作时可以使用DataSourceA,读取时使用DataSourceB。设计图如下:看到这里大家可能会有一个疑问,这个问题就是主从数据库之间数据同步延时的问题!因为大多数使用MySQL主从同步数据都是异步的,也就是说当主库的数据发生变化时并不能立即的更新从库,这么做的目的也是为了更好的性能,那么设想一下,当用户新增一条记录后立刻去从库查询,可能并不能查到刚刚新增的数据,这岂不是很脑裂的问题~~~。然而实际情况并不应该是这样的,我们也不应该这样去设计程序,我们就拿一个类似于CSND博客管理的系统来说,假设一个

3、“博客系统”只有俩部分,一部分是博客管理后台,用户可以在后台新增,编辑,删除博客。另一部分是门户网站,负责展示所有用户的博客信息,相对于这样一个系统来说,后台管理模块对数据库的操作压力不是很大,相反门户网站读取博客信息对数据库的压力很大,这也式一般互联网产品的特点,而且最重要的一点是系统可以接受主从同步数据带来的延迟,也就是说当用户在后台新增一条博客时,前台门户网站并不能立即查询到这条信息。一般都是再过一段时间后才会出现在首页,因为大多数系统都有缓存设置,这样正好给主从同步延迟带来时间。接着说上面的问题,有的同学可能会有这样的疑问,

4、就是后台用户在新增一条记录后,一般都是立即查询返回博客列表,按照上面说的岂不是查询不到~~~,我觉得这个问题可以这么解决:1、后台用户在进行新增,查询,编辑,删除等操作时直接连接主库,这样无论什么操作都是实时的,因为后台操作对数据库的压力不是很大,所以读写全部连接主库应该没什么问题! 2、门户网站查询博客列表时从“从库集群中查询“,通过负载均衡技术,解决了扩展性,高可用性等问题,同时门户网站首页也不需要实时查询主库中的数据,因为网站本身一般都有缓存,也不是实时的。上面的架构设计只是抛砖引玉,大家有什么好想法也可以相互交流~本文重点介

5、绍的内容有二点:1、如何使用Haproxy给MySQL做负载均衡,提供相关的配置说明,健康检查等等。2、当程序通过连接Haproxy代理之后,如何解决程序中连接池长连接失效的问题。下面介绍如何安装配置Haproxy~1、首先进行负载均衡配置。假设两台MySQL(slave)从服务器 A:192.168.1.191:3306   B:192.168.1.192:3306。首先在linxu上安装Haproxy,安装过程略。。。。。。安装完毕后打开配置文件在/etc/haproxy/ haproxy.cfg,配置文件的路径可能不用,别告诉

6、我找不到~~~!1.global  2.    maxconn 4096  3.    daemon  4.    chroot      /var/lib/haproxy  5.    pidfile     /var/run/haproxy.pid  6.    #debug  7.    #quiet  8.    user haproxy  9.    group haproxy  10.  11.defaults  12.    log     global  13.    mode    http  14.    opt

7、ion  httplog  15.    option  dontlognull  16.    log 127.0.0.1 local0  17.    retries 318.    option redispatch  19.    maxconn 2000  20.    #contimeout      5000  21.    #clitimeout      50000  22.    #srvtimeout      50000  23.    timeout http-request    10s24.    ti

8、meout queue          1m  25.    timeout connect         10s  26.    timeout client         1m  27.    timeout server 

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。