RabbitMQ 生产环境配置详解(3)

官网链接
通过rabbitmq-env.conf 来定义环境变量
RABBITMQ_NODENAME 指定节点名称

属性描述默认值
RABBITMQ_NODE_IP_ADDRESS   绑定的网络接口   默认为空字符串表示绑定本机所有的网络接口  
RABBITMQ_NODE_PORT   端口   默认为5672  
RABBITMQ_DISTRIBUTION_BUFFER_SIZE   节点之间通信连接的数据缓冲区大小   默认为128000,该值建议不要使用低于64MB  
RABBITMQ_IO_THREAD_POOL_SIZE   运行时用于io的线程数   建议不要低于32,linux默认为128 ,windows默认为64  
RABBITMQ_NODENAME   rabbitmq节点名称,集群中要注意节点名称唯一   linux 默认节点名为 rabbit@$hostname  
RABBITMQ_CONFIG_FILE   rabbitmq 的配置文件路径,注意不要加文件的后缀(.conf)   默认 $RABBITMQ_HOME/etc/rabbitmq/rabbitmq(二进制安装) /etc/rabbitmq/rabbitmq(rpm 安装)  
RABBITMQ_ADVANCED_CONFIG_FILE   advanced.config文件路径   默认 $RABBITMQ_HOME/etc/rabbitmq/advanced(二进制安装) /etc/rabbitmq/advanced(rpm 安装)  
RABBITMQ_CONF_ENV_FILE   环境变量配置文件路径   默认 $RABBITMQ_HOME/etc/rabbitmq/rabbitmq-env.conf(二进制安装) /etc/rabbitmq/rabbitmq-env.conf(rpm 安装)  
RABBITMQ_SERVER_CODE_PATH   在使用HiPE 模块时需要使用   默认为空  
RABBITMQ_LOGS   指定日志文件位置   默认为 $RABBITMQ_HOME/etc/var/log/rabbitmq/  

网络设置
RABBITMQ_DISTRIBUTION_BUFFER_SIZE 节点间通信缓冲区大小,默认值 128Mb,节点流量比较多的集群中,可以提升该值,建议该值不要低于64MB。

tcp 缓存区大小
下示例将AMQP 0-9-1连接的TCP缓冲区设置为192 KiB:

tcp_listen_options.backlog = 128 tcp_listen_options.nodelay = true tcp_listen_options.linger.on = true tcp_listen_options.linger.timeout = 0 tcp_listen_options.sndbuf = 196608 tcp_listen_options.recbuf = 196608 1.4 在生产环境中不适用的策略。

官网链接

1.4.1 vhost

在生产中,如果rabbitmq只为单个系统提供服务的时候,我们使用默认的(/)是可以的。在为多个系统提供的服务时,我们建议使用单独的vhost.

1.4.2 user

对于生产环境,请删除默认用户(guest),默认用户只能从localhost 连接。
我们可以创建指定权限的单独用户为每个应用提供服务。对于开启权限用户来说,我们可以使用证书,和源ip地址过滤,和身份验证。来加强安全性。

1.4.3 最大打开文件限制

在生产环境我们可能需要调整一些系统的默认限制,以便处理大量的并发连接和队列。
需要调整的值有打开的最大文件数。在生产环境为rabbitmq 运行的用户设定为65536,但是对于大多数开发环境来说,4096就已经足够了。

查看默认的打开文件的最大数量。

ulimit -n

更改方式:

1 临时修改

ulimit -n 65536

2 永久修改

2.1如果是systemed 来进行管理的话我们可以编辑systemed配置文件来进行控制

[service] LimitNOFILE=300000

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/68e78a9f81c38d65758946ad871040b5.html