如何使用Hatop在Haproxy中的不同后端之间切换
建站教程 2021-03-18 09:03 1480

让我们假设以下设置,其中我们有一个HAproxy前端,在端口80接受对应用程序的传入请求,然后将这些请求转发到应用程序的后端服务器(nginx Web实例)。

这将很有用,例如,当您想要将托管Web应用程序代码的Nginx服务器的版本升级为零停机时间的最新版本的Nginx时!

这是haproxy.cfg我们将用于本指南的最小配置文件:

目前,我们有2个nginx实例,一个运行最新版本的nginx 1.19.8,运行在81端口;另一个nginx实例运行在82端口,运行nginx 1.18.0版本。

如你所见,访问80端口时,总是由老的1.18.0实例提供服务。

现在,为了将客户端切换到运行最新版本的后台服务器,你需要找到haproxy管理套接字(通常在/etc/haproxy/haproxy.cfg中配置)并启动hatop实用程序。一个例子的命令是这样的。

root@ivnilv-vm-mobile:~# hatop -s /run/haproxy/admin.sock.

这将引导你进入HAtop界面,它应该看起来像这样。

使用 hatop interactive cli:你可以使用向上(↑)和向下(↓)方向键在上面列表中的可用后端服务器之间进行导航。

将客户端从nginx2实例(1.18.0)切换到nginx1(1.19.8)实例,需要在列表中选择 "nginx2 "后端服务器>按 "Enter "键>按 "F10 "键(DISABLE)。

这样做的目的是将所选的后端服务器进入维护模式,从而开始从备份后端服务器(在本例中是nginx1(1.19.8)实例)服务客户端请求。

让我们做一个实时测试,看看结果。

在下面的例子中,我们每2秒向HAproxy负载均衡器运行一个GET请求。同时,我们将把nginx2实例置于维护模式,有效地使nginx1实例(1.19.8)成为主实例,即服务于客户端请求的实例。

就是这样! 您已经成功地将您的应用程序的后端服务器切换到最新版本的Web服务器,包括最新的安全和功能补丁,零停机时间。

标签:

  • 建站技巧