zoukankan      html  css  js  c++  java
  • rabbitMq实战使用

    只做下工作记录,比较重要的几个属性:

    concurrency:一个生产者可以同时由多少个消费者消费,这个一般根据你的机器性能来进行配置

    prefetch:允许为每个consumer指定最大的unacked messages数目。要是对实时性要求很高的话,prefetch应该设置成1,concurrency的值调高点

    队列中Ready状态和Unacknowledged状态的消息数,分别指的是等待投递给消费者的消息数和已经投递给消费者但是未收到ack信号的消息数。

    注意配置超时重连机制,防止死机

    spring.rabbitmq.listener.simple.retry.max-attempts=5
    spring.rabbitmq.listener.simple.retry.enabled=true
    spring.rabbitmq.listener.simple.retry.initial-interval=5000
    spring.rabbitmq.listener.simple.default-requeue-rejected=false
    spring.rabbitmq.listener.simple.prefetch=1

    Springboot中消费简单实现

    @RabbitListener(concurrency = "12",bindings = {@QueueBinding(value = @Queue(value = YOUR_QUEUE), exchange = @Exchange(value = YOUR_EXCHANGE,type = "fanout"))})
        public void process(Message message, com.rabbitmq.client.Channel channel) {
    
            Long deliveryTag = null;
            String data = null;
            try {
    
                deliveryTag = message.getMessageProperties().getDeliveryTag();
                data = new String(message.getBody(), "UTF-8");
    
                //业务处理
    
            } catch (Exception e) {
                logger.warn("=====消息处理异常");
                logger.warn("MQ异常 {} , {} , {}" , e.getMessage(),e.getCause(),data);
            }finally {
    
                try {
                    channel.basicAck(deliveryTag, false); // 确认消息成功消费
                } catch (IOException e) {
                    logger.warn("======应答出错,请检查");
                }
                logger.warn("======消息结束");
            }
        }

     特别要注意的是:如果不是用springboot注解形式连接,很多时候会因为配置的问题导致access refused(queue 或 exchange),这个时候一定要注意参数是否使用正确,比如php的

    另外如果交换机和队列不允许客户进行声明操作的,要注意passive等于true

     转载请注明博客出处:http://www.cnblogs.com/cjh-notes/

  • 相关阅读:
    kickstart自动安装部署RHEL7
    物流即使查询API
    快递单号查询快递鸟API接口-100家快递单轨迹推送
    物流跟踪API-快递单订阅
    如何最快实现物流即使查询功能-物流轨迹查询API
    提供一个不错的物流物流接口给大家,本人亲测,真的不错
    给idea添加类注释和方法注释模板
    分享一个生成反遗忘复习计划的java程序
    用TreeSet和Comparator给list集合元素去重
    对poi-excel导出的浅层理解
  • 原文地址:https://www.cnblogs.com/cjh-notes/p/10888956.html
Copyright © 2011-2022 走看看