首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多核C++的单台服务器上运行多个Rabbitmq实例

在多核C++的单台服务器上运行多个Rabbitmq实例
EN

Stack Overflow用户
提问于 2020-07-01 18:05:18
回答 1查看 192关注 0票数 0

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

我找到了一个docker-compose文件,它运行了Rabbitmq的3个实例,并将它们连接到一个集群中。

代码语言:javascript
复制
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实例对我有什么好处吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-03 12:12:41

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

在compose文件中提到的启动多个实例的一个原因是拥有一个RabbitMQ节点集群,该集群提供集群和队列镜像、高可用性等。在RabbitMQ 3.8中,您可以使用quorum queues

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62674403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档