HAProxy快速入门(五)—— 负载均衡测试环境搭建

前面章节简要介绍了HAProxy支持的几种负载均衡算法,比如轮换和根据ip等。

光说不练假把式,我们今天就通过实战来了解一下常见的几种算法。

本章节服务器用到的是Tomcat,为了快速部署多台服务器,我们使用了docker。

 

安装docker

docker的安装和使用不是我们这节的重点,所以这里我们简要介绍一下。

1. 列举可安装的docker安装包:# yum list | grep docker

cockpit-docker.x86_64                       195.6-1.el7.centos         extras   
docker.x86_64                               2:1.13.1-162.git64e9980.el7.centos
docker-client.x86_64                        2:1.13.1-162.git64e9980.el7.centos
docker-client-latest.x86_64                 1.13.1-58.git87f2fab.el7.centos
docker-common.x86_64                        2:1.13.1-162.git64e9980.el7.centos
docker-distribution.x86_64                  2.6.2-2.git48294d9.el7     extras   
docker-latest.x86_64                        1.13.1-58.git87f2fab.el7.centos

这里我们就要第二个。

2. 安装docker:# yum install -y docker

看到以下日志,表明安装成功了。

Installed:
  docker.x86_64 2:1.13.1-162.git64e9980.el7.centos

Dependency Installed:

  ...

Complete!

3. 查看docker版本:# docker version

 我们这里安装的是1.13.1,因为不是测试docker,虽然版本旧了点但问题不大。

 

安装部署tomcat

接下来我们用docker安装Tomcat

1. 启动docker服务:# service docker start

2. 查找tomcat镜像:# docker search tomcat

3. 拉取Tomcat镜像:# docker pull docker.io/tomcat

   注意国内下载可能会非常慢,半天pull不下来。我们可以配置国内的镜像地址

   编辑vim /etc/docker/daemon.json

{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}

重新加载:# systemctl daemon-reload

重启docker:# systemctl restart docker

再重新pull,飞一般的速度。。。

4. 查看我们下载下来的image:# docker images | grep tomcat

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/tomcat    latest              2ae23eb477aa        4 days ago          647 MB

5. 在/root目录下新建三个文件夹test1、test2、test3,里面分别新建一个文件index.html

    内容分别是"<h1>Server 1</h1>"、"<h1>Server 3</h1>"、"<h1>Server 3</h1>"

6. 用docker启动3个tomcat容器:

# docker run --name tomcat1 -p 8081:8080 -v /root/test1:/usr/local/tomcat/webapps/ROOT -d tomcat
# docker run --name tomcat2 -p 8082:8080 -v /root/test2:/usr/local/tomcat/webapps/ROOT -d tomcat
# docker run --name tomcat3 -p 8083:8080 -v /root/test3:/usr/local/tomcat/webapps/ROOT -d tomcat

7. 访问测试:分别访问localhost:8081\localhost:8082\localhost:8083,就看到对应的Server N了!

到这里,3台Tomcat服务器搭建完成。

用docker部署应用是不是非常简便呢。

 

配置HAProxy

前面的3台tomcat是相互独立的,要访问只能切换端口访问。接下来我们利用HAProxy,将他们联系起来。

1. 配置haproxy的配置文件,默认是:/etc/haproxy/haproxy.cfg

2. 修改backend部分,服务器列表中将我们3台tomcat加上。

global
        daemon
        maxconn 256

defaults
        mode http
        timeout connect 5000ms
        timeout client 50000ms
        timeout server 50000ms

frontend http-in
        bind *:80
        default_backend servers

backend servers
        server tomcat1 127.0.0.1:8081
        server tomcat2 127.0.0.1:8082
        server tomcat3 127.0.0.1:8083

3. 重启haproxy:# systemctl restart haproxy

4. 访问测试

   现在我们通过haproxy监听的80端口访问,http://localhost. 访问的结果如下:

  1. 第一次刷新:打印Server 1
  2. 第二次刷新:打印Server 2
  3. 第三次刷新:打印Server 3
  4. 第四次刷新:打印Server 1
  5. 第五次刷新:打印Server 2
  6. 。。。。。。

3台Tomcat轮流处理我们的请求,这也印证了前面章节说的:HAProxy默认使用了轮询的负载均衡策略。

到这里,我们负载均衡测试环境搭建完毕,同时也校验了HAProxy默认的轮询策略。

接下来的章节,会继续使用当前环境,对HAProxy的负载均衡进行更深入的探索和学习。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值