优化 RabbitMQ 性能 在 RabbitMQ 中,socket descriptors 和 File descriptors 的默认配额并不大 修改配置 在其配置文件中添加如下参数,其值请根据实际情况进行调整: 1vim /usr/lib/systemd/system/rabbitmq-erver.service 2[Service] 3LimitNOFILE = 65536 重启 rabbitmq systemctl daemon-reload systemctl restart rabbitmq-server //下面为引用参考文案,如下:(节后调整) 在为 OpenStack 的服务配置使用 rabbitmq 消息队列服务时,可以如下配置: transport_url = rabbit://openstack:adminopenstack@controller1,openstack:adminopenstack@controller2 可以看到这里的配置方式是将所有节点的 rabbitmq 服务以拼接方式拼在一起,当 cont1 节 点上的消息队列服务不可用时可以将请求转发给 cont2.同时应该配置如下参数: rabbit_retry_interval=1 rabbit_retry_backoff=2 rabbit_max_retries=0 rabbit_durable_queues=true rabbit_ha_queues=true RabbitMQ 注意小计(故障恢复提示): ①保证集群中至少有一个磁盘类型的节点以防数据丢失,在更改节点类型时尤其要注意。 ②若整个集群被停掉了,应保证最后一个 down 掉的节点被最先启动,若不能则要使用 forget_cluster_node 命令将其移出集群。 ③若集群中节点几乎同时以不可控的方式 down 了, 此时再其中一个节点使用 force_boot 命 令重启节点。 ④如果加入集群后,意外关闭等造成 rabbitmq-server 启动不成功,可以尝试一下步骤: /var/lib/rabbitmq/mnesia 目录下存在 rabbit@localhost.pid、rabbit@localhost、 rabbit@localhost-plugins-expand,删除这 3 项后,并且删除 /var/lib/rabbitmq/ 目录 下 .erlang.cookie 和 erl_crash.dump 再使用 systemctl start rabbitmq-server 启动