当前位置: 首页 > news >正文

rabbitmq springboot 有哪些配置参数

在Spring Boot中集成RabbitMQ时,可以通过配置文件(如application.propertiesapplication.yml)设置多种参数,以满足不同的业务需求。以下是常见的配置参数及其说明:


1. 基础连接配置

  • spring.rabbitmq.host
    RabbitMQ服务器的地址(默认:localhost)。
  • spring.rabbitmq.port
    RabbitMQ服务器的端口(默认:5672)。
  • spring.rabbitmq.username
    连接RabbitMQ的用户名(默认:guest)。
  • spring.rabbitmq.password
    连接RabbitMQ的密码(默认:guest)。
  • spring.rabbitmq.virtual-host
    虚拟主机名称(默认:/)。

2. 连接超时与心跳

  • spring.rabbitmq.connection-timeout
    连接超时时间(毫秒,默认:0,表示无限等待)。
  • spring.rabbitmq.requested-heartbeat
    心跳间隔(秒,默认:60),用于检测连接是否存活。

3. 消息确认与发布确认

  • spring.rabbitmq.publisher-confirms
    是否启用发布确认(true/false,默认:false)。启用后,生产者可以确认消息是否到达Broker。
  • spring.rabbitmq.publisher-returns
    是否启用发布返回(true/false,默认:false)。启用后,未路由的消息会返回给生产者。
  • spring.rabbitmq.template.mandatory
    是否强制返回未路由的消息(需配合publisher-returns使用,默认:false)。

4. 消费者配置

  • spring.rabbitmq.listener.simple.acknowledge-mode
    消息确认模式:
    • AUTO:自动确认(默认)。
    • MANUAL:手动确认。
    • NONE:不确认(可能导致消息丢失)。
  • spring.rabbitmq.listener.simple.concurrency
    最小消费者数量(默认:1)。
  • spring.rabbitmq.listener.simple.max-concurrency
    最大消费者数量(默认:1)。
  • spring.rabbitmq.listener.simple.prefetch
    预取消息数量(默认:1)。控制消费者一次从Broker获取的消息数量,避免单消费者过载。
  • spring.rabbitmq.listener.simple.retry.enabled
    是否启用重试机制(true/false,默认:false)。
  • spring.rabbitmq.listener.simple.retry.max-attempts
    最大重试次数(默认:3)。
  • spring.rabbitmq.listener.simple.retry.initial-interval
    重试间隔(毫秒,默认:1000)。

5. 高级配置

  • spring.rabbitmq.cache.channel.size
    连接通道缓存大小(默认:25)。
  • spring.rabbitmq.ssl.enabled
    是否启用SSL/TLS加密(true/false,默认:false)。
  • spring.rabbitmq.ssl.key-store
    SSL密钥库路径(需启用SSL)。
  • spring.rabbitmq.ssl.key-store-password
    SSL密钥库密码。
  • spring.rabbitmq.addresses
    集群节点地址(逗号分隔,如host1:5672,host2:5672),用于高可用场景。

6. 示例配置(YAML格式)

spring:rabbitmq:host: localhostport: 5672username: guestpassword: guestvirtual-host: /connection-timeout: 5000requested-heartbeat: 30publisher-confirms: truepublisher-returns: truelistener:simple:acknowledge-mode: MANUALconcurrency: 5max-concurrency: 10prefetch: 10retry:enabled: truemax-attempts: 5initial-interval: 2000

关键参数说明

  1. prefetch‌:
    控制消费者并发处理能力。值越大,吞吐量越高,但可能导致消息分配不均。
  2. publisher-confirmspublisher-returns‌:
    用于生产者确保消息可靠到达Broker,适合高可靠性场景。
  3. 重试机制‌:
    消费者处理失败时自动重试,避免消息丢失。

注意事项

  • 生产环境建议启用SSL加密(spring.rabbitmq.ssl.enabled=true)。
  • 高并发场景需合理配置prefetchconcurrency,避免资源耗尽。
  • 集群环境下使用addresses配置多个节点地址,实现负载均衡和故障转移。

通过以上配置,可以灵活调整RabbitMQ在Spring Boot中的行为,满足不同业务需求。

相关文章:

  • Leetcode 3482. 分析组织层级
  • 状态模式 - Flutter中的状态变身术,让对象随“状态“自由切换行为!
  • 对于“随机种子”的作用的理解
  • 71. 简化路径 —day94
  • 【网络】:DNS协议、ICMP协议、NAT技术
  • Cursor1.1.6安装c++插件
  • .netcore 一个mvc到静态html实现
  • 【数据分析】Python+Tushare实现均线金叉死叉交易策略回测
  • 黑马JVM解析笔记(六):深入理解JVM类加载机制与运行时优化
  • 【JS-6.2-模板字符串】ES6 模板字符串:现代JavaScript的字符串处理利器
  • 可达性分析算法Test
  • 如何将Excel表的内容转化为json格式呢?
  • 深入理解Mysql索引底层数据结构和算法
  • InnoDB的redo日志涉及文件及结构
  • 嵌入式硬件中电容的基本原理与详解
  • WPF学习笔记(13)列表框控件ListBox与数据模板
  • Spring Boot项目开发实战销售管理系统——数据库设计!
  • 大模型在恶性心律失常预测及治疗方案制定中的应用研究
  • 计算机网络基础知识详解
  • 筑牢网络安全屏障