RabbitMQ配置

大多数情况下我们可以使用默认的参数来有效的运行RabbitMQ,当然我们自己也可以调节系统范围内的参数来实现定制化需求的目的,这里有三种方式:

  • 环境变量(environment variables)
  • 配置文件(configuration file)
  • 运行时参数和策略(runtime parameter and policy)

6.1 环境变量

RabbitMQ的环境变量都是以RABBITMQ_开头的,可以在shell环境中设置,也可以在rabbitmq-env.conf(非shell环境bu需要将RABBITMQ_这个前缀去除)这个RabbitMQ环境变量的定义文件中设置 ,以定义节点名称为例:RabbitMQ 在启动服务的时候首先判断当前 Shell 环境中有无 RABBITMQ NODENAME 的定义,如果有 则 启用此值 :如 果没有,则查看 rabbitrnq-env.conf 中是否定义了 NODENAME 这个变量,如果有则启用此值,如果没有则 采用默认的取值规则,即 rabbit@$HOSTNAME。常见的环境变量有:服务监听的端口,日志的基础目录,配置文件的路径等。

6.2 配置文件

默认配置文件的位置取决于操作系统和安装包,查看默认配置文件的位置有两种方式:

  • 查看RabbitMQ的启动日志,config file为当前配置文件的位置;
  • 查看进程信息:ps aux | grep rabbitmq,其中-config为当前配置文件的位置。
6.2.1 配置项

一个极简的rabbitmq.config的配置如下所示(将 RabbitMQ监听 AMQP 0-9-1 客户端连接的默认端口号从 5672修改为 5673):

[
        {
            rabbit[
                    {tcp_listeners, [5673]}
            ]
        }
].

当然了,我们还可以配置一些其他的参数,例如:SSL 配置 ,RabbitMQ 存储数据分区的可用磁盘空间限制,控制日志的粒度等。

6.2.2 配置加密

配置文件中一些敏感的配置项可以被加密,然后启动的时候以密文的形式展示出来。

6.2.3 优化网络配置

网络是客户端和RabbitMQ通信的媒介,RabbitMQ支持的所有协议都是基于TCP层面的,除了操作系统内核参数和DNS,所有RabbitMQ设置都可以通过在rabbitmq.config配置文件中配置来实现,优化网络配置的一个重要目标就是提高吞吐量,比如禁用nagle算法,增大TCP缓冲区大小。一般来说,缓冲区越大,吞吐量越高,但是每个连接上耗费的内存就越多,从而使总体服务的内存增大,当然反过来思考,如果减小缓冲区,那么支持的连接就会比较多,这样并发能力会更强一些,这是一个权衡的问题。在 Linux 操作 系统中,默认会自动调节TCP缓冲区的大小,通常会设置为 80KB 到 120KB 之间。要提高吞吐量可以使用 rabbit.tcp listen options 来加大配置。

6.3 参数及策略

RabbitMQ的绝大多数配置可以通过rabbitmq.config来完成,但是有些不适合在其中实现,比如某些配置项不需要同步到集群中的其他节点中,或者某项配置需要在运行时更改(我们称其为parameter),因为rabbitmq.config需要重启broker才能生效。parameter可以通过rabbitmqctl或者Web管理来设置。RabbitMQ中一共有两种类型的parameter:vhost级别、global级别。

6.4 小结

本章主要介绍了RabbitMQ的配置,对参数调优至关重要,当然,即便是使用默认配置,它也可以运行的很好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值