java获取haproxy监控_Java连接haproxy管控的rabbitmq集群问题

本文介绍了一个成功的HAProxy结合RabbitMQ集群搭建案例,详细展示了如何通过轮询方式实现消息在集群间的发送与接收,并提供了具体的Java程序实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一、成功的搭建了haproxy+rabbitmq集群,确认集群肯定没问题的。

第二、3个集群节点中两个ram和一个disc。

第三、目前java程序的写法是往第一个ram节点发送消息,再从第二个ram节点接收消息,disc节点只做同步不做操作。

想请问一下,java程序能否连接haproxy来发送消息到rabbitmq里,发送机制是轮训发送到两个ram节点,接收机制也是轮训从两个ram节点接收,disc节点只做同步不做操作,这种实现在java程序里怎么写?

ProducerCluster.java文件代码如下:

package com.shihuan.rabbitmq.server;

import java.io.IOException;

import java.util.concurrent.TimeoutException;

import com.rabbitmq.client.Channel;

import com.rabbitmq.client.Connection;

import com.rabbitmq.client.ConnectionFactory;

import com.shihuan.rabbitmq.common.QueueClusterInfo;

public class ProducerCluster {

public static void main(String[] args) {

//创建连接工厂

ConnectionFactory factory = new ConnectionFactory();

//设置RabbitMQ相关信息

factory.setHost("192.168.80.128");

factory.setUsername(rabbitmq机器的rabbitmq远程管理用户);

factory.setPassword(rabbitmq机器的rabbitmq远程管理用户的密码);

factory.setPort(5670);

factory.setVirtualHost(rabbitmq机器的rabbitmq的vhost);

//创建一个新的连接

Connection connection;

try {

connection = factory.newConnection();

//创建一个通道

Channel channel = connection.createChannel();

//声明一个队列

channel.queueDeclare(QueueClusterInfo.QUEUE_NAME, true, false, false, null);

String message = "Hello RabbitMQ";

//发送消息到队列中

channel.basicPublish("", QueueClusterInfo.QUEUE_NAME, null, message.getBytes("UTF-8"));

System.out.println("Producer Send +'" + message + "'");

//关闭通道和连接

channel.close();

connection.close();

} catch (IOException | TimeoutException e) {

System.out.println("Exception Message: " + e.getMessage());

e.printStackTrace();

}

}

}

haproxy和所有rabbitmq节点不在同一台机器上。

我觉得应该是我的haproxy配置(ip: 192.168.80.128)有问题,我的haproxy配置文件内容如下:

#

# demo config for Proxy mode

#

global

maxconn 2048

ulimit-n 8192

log 127.0.0.1 local0

uid 501

gid 501

#chroot /var/lib/haproxy

pidfile /var/run/haproxy.pid

nbproc 4

daemon

defaults

log global

mode http

option httplog

option dontlognull

retries 2

option httpclose

option abortonclose

maxconn 2048

timeout connect 5000ms

timeout client 30000ms

timeout server 30000ms

balance roundrobin

listen stats

bind 0.0.0.0:1080

mode http

option httplog

maxconn 10

stats refresh 30s

stats uri /stats

stats realm XingCloud\ Haproxy

stats auth admin:admin

stats auth Frank:Frank

stats admin if TRUE

listen rabbitmq_admin

bind 0.0.0.0:8004

mode http

server rabbitmq 192.168.80.130:15672

server rabbitbak 192.168.80.134:15672

server rabbitslave 192.168.80.133:15672

listen rabbitmq_cluster

bind 0.0.0.0:5670

mode tcp

balance roundrobin

server rabbitbak 192.168.80.134:5672 check inter 2000 rise 2 fall 3

server rabbitslave 192.168.80.133:5672 check inter 2000 rise 2 fall 3

server rabbitmq 192.168.80.130:5672 check inter 2000 rise 2 fall 3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值