本篇重点讲解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. Linux中main是如何执行的

    Linux中main是如何执行的 这是一个看似简单的问题,但是要从Linux底层一点点研究问题比较多.找到了一遍研究这个问题的文章,但可能比较老了,还是在x86机器上进行的测试. 原文链接 开始 问题 ...

  2. Ubuntu下比较通用的makefile实例

    本文转自http://blog.chinaunix.net/uid-20608849-id-360294.html  笔者在写程序的时候会遇到这样的烦恼:一个项目中可能会有很多个应用程序,而新建一个应 ...

  3. code forces 436 D. Make a Permutation!

    D. Make a Permutation! time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  4. linux的特殊符号与正则表达式

    第1章 linux的特殊符号 1.1 通配符 * {} 1.1.1 含义 方便查找文件 通配符是用来找文件名字的. 1.1.2  * 通过find 命令找以 .sh 结尾的文件,使用*替代文件名字. ...

  5. Android 开发笔记___SQLite__优化记住密码功能

    package com.example.alimjan.hello_world; /** * Created by alimjan on 7/4/2017. */ import com.example ...

  6. 「JavaScript」同步、异步、回调执行顺序之经典闭包setTimeout分析

    聊聊同步.异步和回调 同步,异步,回调,我们傻傻分不清楚, 有一天,你找到公司刚来的程序员小T,跟他说:“我们要加个需求,你放下手里的事情优先支持,我会一直等你做完再离开”.小T微笑着答应了,眼角却滑 ...

  7. HBase流量限制和表负载均衡剖析

    1.概述 在HBase-1.1.0之前,HBase集群中资源都是全量的.用户.表这些都是没有限制的,看似完美实则隐患较大.今天,笔者就给大家剖析一下HBase的流量限制和表的负载均衡. 2.内容 也许 ...

  8. 基于QEMU的ARM Cortex-A9开发板Vexpress-ca9的Linux内核的编译和运行

    宿主机:Ubuntu16.04 x64(Linux内核4.4.0) 交叉编译工具链:gcc-arm-linux-gnueabiarm-linux-gcc:4.4.3QEMU:2.5.0Linux ke ...

  9. 【Win 10 应用开发】UI Composition 札记(五):灯光

    UI Composition 除了能够为 UI 元素建立三维空间外,还有相当重要的一个部件——灯光.宇宙万物的精彩缤纷,皆源于光明,光,使我们看到各种东西,除了黑洞之外的世界都是五彩斑谰的.故而,真要 ...

  10. [转载] 基于Dubbo的Hessian协议实现远程调用

    转载自http://shiyanjun.cn/archives/349.html Dubbo基于Hessian实现了自己Hessian协议,可以直接通过配置的Dubbo内置的其他协议,在服务消费方进行 ...