我应该如何在 Windows 上实现 Nginx 故障转移?

问题描述 投票:0回答:0

众所周知,我能够使用 Keepalived 创建 VIP。当RabbitMQ节点出现故障时,VIP会动态切换到正常节点。当然,我可以在 CentOS 上执行此操作,但 Keepalived 没有适用于 Windows 的版本。我应该如何实现这个功能?

这里是我的实际生产环境:我有5台可以运行服务的主机。由于某种原因,它们必须是 Windows 操作系统。而且只有一个是Windows Server 2016,其他四个都是Windows 10专业版

打算在上面运行RabbitMQ节点组成集群,使用MQTT-Plugin插件实现MQTT Broker。至于负载均衡部分,我会在唯一的服务器中使用Nginx的Stream模块。但是,在目前的架构中,Nginx 已经变成了单节点。当Nginx节点出现故障时,整个服务将不可用。 我尝试使用 Golang 在两个 Windows 上实现类似主从 Nginx 故障转移的功能。但是效果不是很理想

我应该如何在其余的 Windows 10 Pro 主机上实施 Nginx 故障转移?

下面是我的Nginx配置:

worker_processes  auto;

events {
    worker_connections  1024;
}


http {

}

# RabbitMQ
stream {
    upstream rabbitmqtt {
        server 10.168.1.10:1883 weight=1;
        server 10.168.1.11:1883 weight=2;
        server 10.168.1.23:1883 weight=1;
    }

    server {
        # listen       1884 so_keepalive=on;
        listen       1884;
        proxy_connect_timeout 60s;
        proxy_timeout 60s;
        proxy_pass rabbitmqtt;
        tcp_nodelay on;
    }
}
nginx mqtt
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.