使用多核c在单个服务器上运行多个Rabbitmq实例

使用多核c在单个服务器上运行多个Rabbitmq实例,rabbitmq,Rabbitmq,我正在尝试扩展Rabbitmq服务,以提高服务的性能和吞吐量 我找到了一个运行3个Rabbitmq实例并将它们加入集群的文件 version: '3' services: rabbitmq1: image: rabbitmq:3-management hostname: rabbitmq1 environment: - RABBITMQ_ERLANG_COOKIE=${RABBITMQ_ERLANG_COOKIE} - RABBITMQ_D

我正在尝试扩展Rabbitmq服务,以提高服务的性能和吞吐量

我找到了一个运行3个Rabbitmq实例并将它们加入集群的文件

version: '3'

services:

  rabbitmq1:
    image: rabbitmq:3-management
    hostname: rabbitmq1
    environment:
      - RABBITMQ_ERLANG_COOKIE=${RABBITMQ_ERLANG_COOKIE}
      - RABBITMQ_DEFAULT_USER=${RABBITMQ_DEFAULT_USER}
      - RABBITMQ_DEFAULT_PASS=${RABBITMQ_DEFAULT_PASS}
      - RABBITMQ_DEFAULT_VHOST=${RABBITMQ_DEFAULT_VHOST}

  rabbitmq2:
    image: rabbitmq:3-management
    hostname: rabbitmq2
    depends_on:
      - rabbitmq1
    environment:
      - RABBITMQ_ERLANG_COOKIE=${RABBITMQ_ERLANG_COOKIE}
    volumes:
      - ./cluster-entrypoint.sh:/usr/local/bin/cluster-entrypoint.sh
    entrypoint: /usr/local/bin/cluster-entrypoint.sh

  rabbitmq3:
    image: rabbitmq:3-management
    hostname: rabbitmq3
    depends_on:
      - rabbitmq1
    environment:
      - RABBITMQ_ERLANG_COOKIE=${RABBITMQ_ERLANG_COOKIE}
    volumes:
      - ./cluster-entrypoint.sh:/usr/local/bin/cluster-entrypoint.sh
    entrypoint: /usr/local/bin/cluster-entrypoint.sh
    
  haproxy:
    image: haproxy:1.7
    volumes:
      - ./haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro
    depends_on:
      - rabbitmq1
      - rabbitmq2
      - rabbitmq3
    ports:
      - 15672:15672
      - 5672:5672
据我所知,Rabbitmq不是单线程的,因此基本上它的单个实例应该能够使用服务器的所有CPU能力。我说得对吗


我想知道在一台服务器上运行多个Rabbit实例是否对我有好处?

我想运行多个RabbitMQ实例可能没有任何好处。RabbitMQ中有多个队列和交换,可以解决大多数问题

如撰写文件中所述,启动多个实例的一个原因是拥有一个RabbitMQ节点集群,该集群提供集群和队列镜像、高可用性等功能。有了RabbitMQ 3.8,您就有了