Rabbitmq一些基本使用时配置的记录

本文记录了RabbitMQ的基本使用,包括端口设置,如5672用于程序连接,15672供网页访问控制台。介绍了发布/订阅、路由和主题模式,交换机类型分别为fanout、direct和topic。在SpringBoot中,实体类的序列化需保证一致性。还提到了RabbitMQ的集群配置,通过Haproxy实现负载均衡,并给出了 Mirror 镜像集群的命令及haproxy配置文件内容。
摘要由CSDN通过智能技术生成
  1. 端口的使用
    5672为程序中链接rabbitmq,15672为网页端访问rabbitmq控制台的端口,默认不允许guest登录;
  2. 各模式下的一些配置情况:
  • 在发布/订阅(Pub/Sub)模式下:
    交换机类型为:fanout
  • 在Routing(路由)模式下:
    交换机类型为:direct
    此模式下可通过routingKey进行消息的不同消费者的接收
  • 在topic模式下:
    交换机类型为topic
    #:匹配一个或多个
    *:匹配一个

在springboot中,如果是使用实体类进行数据的生产及消费则需要保证序列化后的实体类在消费者和生产者中的路径需保持一致,因为其使用的是JDK进行的序列化。
以下是springboot中交换机和队列,及其绑定的相关代码:

@Configuration
public class RabbitConfig {

    @Bean
    public TopicExchange topicExchange() {
        return new TopicExchange(这里是交换机名,自己定义,但需要和消费者保持一致);
    }

    @Bean
    public Queue queue() {
        /**
         *   durable="true" 持久化 rabbitmq重启的时候不需要创建新的队列
         *   exclusive  表示该消息队列是否只在当前connection生效,默认是false
         *   auto-delete 表示消息队列没有在使用时将被自动删除 默认是false
         */

        return new Queue(这里是队列名, true, false, false);
    }

	// 绑定交换机和队列
    @Bean
    public Binding binding() {
        return BindingBuilder.bind(queue()).to(topicExchange()).with(RabbitConstant.ROUTIN_KEY);
    }

}

以下是生产者发送消息的代码:

@Component
public class Producer {

    @Resource
    private RabbitTemplate rabbitTemplate;

    RabbitTemplate.ConfirmCallback confirmCallback = new RabbitTemplate.ConfirmCallback() {
        @Override

        /**
         * CorrelationData 消息的附加信息,即自
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值