本篇重点讲解haproxy+mysql负载均衡,搭建完成后与之前搭建的redis+ssm进行整合

(注:这里用到了两台mysql数据库,分别安装两台虚拟机上,已经成功实现主主复制,如果有需要,请查看我另外一篇博客:http://www.cnblogs.com/cuijiale/p/8039421.html)

1、首先下载最新的的haproxy安装包:haproxy-1.7.9.tar.gz  

  下载完成后cp到特定的目录下/usr/local

2、安装haproxy

  解压“tar -zxvf haproxy-1.7.9.tar.gz”在本目录,压缩完成后“cd haproxy-1.7.9”

  执行安装命令“make TARGET=linux3100 CPU=x86_64 PREFIX=/usr/local/haproxy-1.7.9”

        “make install PREFIX=/usr/local/haproxy-1.7.9”

3、安装完成后配置启动

  在安装目录的根目录创建haproxy.cfg配置文件,启动时需要。

  进入haproxy.cfg文件修改

 global
log 127.0.0.1 local2 #日志相关
maxconn 4096
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
user haproxy
daemon
stats socket /var/lib/haproxy/stats
#debug
#quiet defaults
mode tcp #haproxy运行模式(http | tcp | health)
log global
option dontlognull
option redispatch #serverId对应的服务器挂掉后,强制定向到其他健康的服务器
retries 3 #三次连接失败则服务器不用
timeout http-request 10s
timeout queue 1m
timeout connect 10s #连接超时
timeout client 1m #客户端超时
timeout server 1m #服务器超时
timeout http-keep-alive 10s
timeout check 10s #心跳检测
maxconn 600 #最大连接数 listen mysql
bind 0.0.0.0:23306 #代理端口
mode tcp #模式 TCP
option mysql-check user haproxy #mysql健康检查 root为mysql登录用户名
balance roundrobin #调度算法
server mysql1 192.168.40.128:3306 weight 1 check inter 1s rise 2 fall 2 #健康检查加上check
server mysql2 192.168.40.130:3306 weight 1 check inter 1s rise 2 fall 2
listen stats #监控
mode http
bind 0.0.0.0:8888
stats enable
stats uri /dbs
stats realm Global\ statistics
stats auth admin:admin

  配置文件后,就可以启动了,不过在这之前,因为数据库是负载均衡,需要同步数据与访问数据,需要创建一个一模一样的帐号来应对访问需求,并且主主复制的帐号也需要改成一样的,为了方便直接赋予这个用户全部权限。语法查看我mysql相关博客:    http://www.cnblogs.com/cuijiale/p/8034319.html,其中都有提到。ok该排的坑我们已经躺过了,这里我就启动服务(为了让haproxy监控两个数据库信息,需要分别创建一个haproxy用户,密码为空就好)。

  ./usr/local/haproxy-1.7.9/sbin/haproxy -f /usr/local/haproxy-1.7.9/haproxy.cfg

  启动后可以通过命令去查看。启动一切正常

  远程使用“http://192.168.40.128:8888/dbs”查看监控情况这里用到的配置全部来自于

  登录密码这里配置的是admin/admin可以看到我们配置的两台mysql已经被监控到了。

4、整合smm

  上面配置图中可以看到我们让haproxy监听的23306端口,所以配置文件中需要连接这个端口

  一切就绪,启动redis集群

redis主从6个节点全部启动后,启动web服务访问

数据也完美得到。一切ok,这样我们一个SSM WEB应用+redis集群+mysql负载均衡的高可用,高性能,高扩展的读写分离架构就搭建完成了,其中还有很多瑕疵,之后也会自己慢慢补齐,架构还需要使用nginx对web应用进行负载均衡,减轻应用服务器压力。

其中不对地方,还望各位能够指出,谢谢

05.haproxy+mysql负载均衡 整合 redis集群+ssm的更多相关文章

  1. Linux下"负载均衡+高可用"集群的考虑点 以及 高可用方案说明(Keepalive/Heartbeat)

    当下Linux运维技术越来越受到企业的关注和追捧, 在某些企业, 尤其是牵涉到电子商务和电子广告类的网站,通常会要求作负载均衡和高可用的Linux集群方案.那么如何实施Llinux集群架构,才能既有效 ...

  2. linux系统下对网站实施负载均衡+高可用集群需要考虑的几点

    随着linux系统的成熟和广泛普及,linux运维技术越来越受到企业的关注和追捧.在一些中小企业,尤其是牵涉到电子商务和电子广告类的网站,通常会要求作负载均衡和高可用的Linux集群方案. 那么如何实 ...

  3. apache、mod_jk负载均衡与tomcat集群

    最近需要搭建apache和tomcat的集群,实现静态网站直接通过apache访问,动态网站转交给tomcat处理,实现负载均衡和tomcat集群配置. apache安装 wget http://ap ...

  4. Apache+Tomcat部署负载均衡(或集群)

    本来只打算写Tomcat集群部署,简化Apache和Tomcat整合过程的.后来想了想,这样不便于没有用过Apache的朋友来学习本文内容.于是干脆加大篇幅,让对Apache不了解的朋友能对Apach ...

  5. 04.redis集群+SSM整合使用

    redis集群+SSM整合使用 首先是创建redis-cluster文件夹: 因为redis最少需要6个节点(三主三从),为了更好的理解,我这里创建了两台虚拟机(192.168.0.109 192.1 ...

  6. SpringBoot整合Redis集群

    一.环境搭建 Redis集群环境搭建:https://www.cnblogs.com/zwcry/p/9174233.html 二.Spring整合Redis集群 1.pom.xml <proj ...

  7. LVS+Keepalived-DR模式负载均衡高可用集群

    LVS+Keepalived DR模式负载均衡+高可用集群架构图 工作原理: Keepalived采用VRRP热备份协议实现Linux服务器的多机热备功能. VRRP,虚拟路由冗余协议,是针对路由器的 ...

  8. 3.dubbo 负载均衡策略和集群容错策略都有哪些?动态代理策略呢?

    作者:中华石杉 面试题 dubbo 负载均衡策略和集群容错策略都有哪些?动态代理策略呢? 面试官心理分析 继续深问吧,这些都是用 dubbo 必须知道的一些东西,你得知道基本原理,知道序列化是什么协议 ...

  9. (七)整合 Redis集群 ,实现消息队列场景

    整合 Redis集群 ,实现消息队列场景 1.Redis集群简介 1.1 RedisCluster概念 2.SpringBoot整合Redis集群 2.1 核心依赖 2.2 核心配置 2.3 参数渲染 ...

随机推荐

  1. Xilinx ISE14.1用Verilog语言实现一个半加器并测试

    <一>建立一个工程 注:Xilinx ISE的安装在此不再过多说明,网上有参考资料 1.打开软件进入如下界面 2.创建工程 File-->New Project 3.创建文件(我取名 ...

  2. HDU 2665 Kth number(划分树)

    Kth number Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...

  3. poj 2486 Apple Tree(树形DP 状态方程有点难想)

    Apple Tree Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9808   Accepted: 3260 Descri ...

  4. Python-week1,第一周(基于Python3.0以上)

    1,变量 准确来说不是第一周学习了吧,应该是采用博客记录学习的第一周,记录并做个笔记吧,可能做的不好,但我高兴啊,废话不说了,上图. 学习过程中做的一些笔记,当然能面面俱到,只能在写博客的时候又能复习 ...

  5. 逻辑卷lvm创建、扩展、缩小

    系统环境:CentOS Linux release 7.3.1611 (Core) 3.10.0-514.el7.x86_64 CentOS6与7配置方法大同小异.通常是在系统安装的时候创建lvm,然 ...

  6. MUI开发记录——我的考勤

    已经好久没有更新技术博客了,因为最近一直在做跨平台web app应用的开发,由于是刚做这个,也没太多经验同大家分享,可我是一个闲不住的人,我还是决定于百忙之中抽空整理一篇,记录下开发历程......— ...

  7. Maven仓库-Nexus环境搭建及简单介绍

    1.    环境搭建 1.1  下载 http://www.sonatype.org/nexus/ NEXUS OSS [OSS = Open Source Software,开源软件——免费] NE ...

  8. JAVA_读取XML文件

    在项目中,很多种情况都需要将一些配置写在xml文件或者properties文件里,便于日后修改配置,好维护等等. 1.新建xml文件 <?xml version="1.0" ...

  9. C#利用UdpClient发送广播消息

    首先写个接受消息的客户端.这里偷了点懒,new UdpClient(11000)就是用Udp方式侦听11000端口,侦听任何发送到11000端口的消息都会接收到. 代码 : ); Byte[] sen ...

  10. 《天书夜读:从汇编语言到windows内核编程》二 C语言的流程与处理

    1) Debug与Release的区别:前者称调试版,后者称发行版.调试版基本不优化,而发行版会经过编译器的极致优化,往往与优化前的高级语言执行流程会大相径庭,但是实现的功能是等价的. 2) 如下fo ...