HAproxy连接Mycat集群docker-compose版

1. 前言

设置一个统一的入口来控制mycat集群,在这里我们使用到了HAproxy来做负载均衡和请求转发。

2. 架构图

在这里插入图片描述

3. 配置HAproxy

# 创建文件夹
cd /usr/local/docker
mkdir haproxy/etc/haproxy -p
# 创建配置文件
cd /usr/local/docker/haproxy/etc/haproxy
vim haproxy.cfg
## 输入下列内容 
global
	#工作目录
	chroot /usr/local/etc/haproxy
	#日志文件,使用rsyslog服务中local5日志设备(/var/log/local5),等级info
	log 127.0.0.1 local5 info
	#守护进程运行
	daemon

defaults
	log	global
	mode	http
	#日志格式
	option	httplog
	#日志中不记录负载均衡的心跳检测记录
	option	dontlognull
    #连接超时(毫秒)
	timeout connect 5000
    #客户端超时(毫秒)
	timeout client  50000
	#服务器超时(毫秒)
    timeout server  50000

#监控界面	
listen  admin_stats
	#监控界面的访问的IP和端口(对应前端页面的端口访问,可以修改)
	bind  0.0.0.0:8888
	#访问协议
    mode        http
	#URI相对地址
    stats uri   /dbs
	#统计报告格式
    stats realm     Global\ statistics
	#登陆帐户信息
    stats auth  admin:123456
#数据库负载均衡
listen  proxy-mysql
	#访问的IP和端口
	bind  0.0.0.0:8889  
    #网络协议
	mode  tcp
	#负载均衡算法(轮询算法)
	#轮询算法:roundrobin
	#权重算法:static-rr
	#最少连接算法:leastconn
	#请求源IP算法:source 
    balance  roundrobin
	#日志格式
    option  tcplog
    #对mycat节点进行负载均衡

    server  mycat_1 mycat:8066 check port  8066 weight 1 maxconn 2000
    server  mycat_2 mycat02:8066 check port 8066  weight 1 maxconn 2000
	#使用keepalive检测死链
    option  tcpka

4. docker-compose.yml

cd /usr/local/docker/haproxy
vim docker-compose.yml

version: '3'
services:
  haproxy:
    restart: always
    image: haproxy:2.1.2
    container_name: haproxy
    ports:
      - 8888:8888 # 端口来源于haproxy.cfg里面配置
      - 8889:8889 # 统一的端口对mycat, haproxy.cfg里面配置
    volumes:
      - ./etc/haproxy:/usr/local/etc/haproxy:ro #ro 表示仅仅只能读

networks:
  default:
    external:
      name: mysql_network

5. 效果图

5.1 容器效果

在这里插入图片描述

5.2 节点安全图

ip:port/dbs
在这里插入图片描述

5.3 navicat连接图

在这里插入图片描述

6. 补充说明

到现在你会发现。我们出现了一个新的负载均衡软件。
那么我们来简单说说两者的区别。

  1. nginx是一个HTTP服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。
  2. NginxHAproxy其实他们两个的定位是有所不同的,Nginx的定位是一个serverHAproxy的定位是一个load balancer.
  3. HAproxy负载均衡性能比nginx好,有一个状态统计页面,官方支持会话保持、健康检查等
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值