docker RabbitMQ:修改Channel limit

本文指导如何在Docker中调整RabbitMQ配置,解决channel_max达到上限问题,通过增大channel_max值并持久化配置,确保高并发下消息不丢失。

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

RabbitMQ:The channelMax limit is reached. Try later.

  • rabbitmq 默认 最大链接默认是2047访问量过大会导致数据丢失

  • 复制 docker 容器中的 /etc/rabbitmq/rabbitmq.conf 配置
    在这里插入图片描述

    docker cp 容器id:容器内的文件路径 宿主机路径
    docker cp 96f7f14e99ab:/etc/rabbitmq /etc/rabbitmq

  • cd 进入到 宿主机 /etc/rabbitmq修改rabbitmq.conf

    • 在配置文件中加入 channel_max = 6114
  • 删除容器

    docker rm 容器id

  • 挂载文件

    -v 语法:宿主机文件路径:容器文件路径
    docker run -d --name rabbitmq -v /home/dockerdata/rabbitmq/rabbitmq/:/etc/rabbitmq/ -p 15672:15672 -p 5672:5672 f65f7c36d41b

  • 配置Bean

    @Bean
    public CachingConnectionFactory connectionFactory() {
        CachingConnectionFactory connectionFactory = new CachingConnectionFactory(host, port);
        //修改rabbitmq.conf  channel_max>0 否則此配置不會生效
        connectionFactory.getRabbitConnectionFactory().setRequestedChannelMax(6144);
        connectionFactory.setUsername(username);
        connectionFactory.setPassword(password);
        connectionFactory.setVirtualHost("/");
        return connectionFactory;
    }
    
  • 应用连接到mq你会发现Channels limit 变成了你设置的了
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值