zoukankan      html  css  js  c++  java
  • 16,EasyNetQ-群集支持

    EasyNetQ支持RabbitMQ群集,无需部署负载均衡器。

    只需在连接字符串中列出群集的节点...

    var bus = RabbitHutch.CreateBus("host=ubuntu:5672,ubuntu:5673");

    在这个例子中,我们在一台机器上建立了一个集群'ubuntu',端口5672上的节点1和端口5673上的节点2上。当CreateBus语句执行时,EasyNetQ将尝试连接到列出的第一台主机(ubuntu:5672)。 如果连接失败,它会尝试连接到列出的第二台主机(ubuntu:5673)。 如果两个节点都不可用,则它将位于重试循环中,每五秒钟尝试连接两台服务器。 它将所有这些活动记录到注册的IEasyNetQLogger。 如果第一个节点不可用,您可能会看到类似这样的内容:

    DEBUG: Trying to connect
    ERROR: Failed to connect to Broker: 'ubuntu', Port: 5672 VHost: '/'. ExceptionMessage: 'None of the specified endpoints were reachable'
    DEBUG: OnConnected event fired
    INFO: Connected to RabbitMQ. Broker: 'ubuntu', Port: 5674, VHost: '/'

    如果EasyNetQ连接的节点发生故障,EasyNetQ将尝试连接到下一个列出的节点。 一旦连接,它将重新申报所有交易所和队列,并重新启动所有消费者。 以下是一个示例日志记录,显示一个节点出现故障,然后EasyNetQ连接到另一个节点并重新创建订户:

    INFO: Disconnected from RabbitMQ Broker
    DEBUG: Trying to connect
    DEBUG: OnConnected event fired
    DEBUG: Re-creating subscribers
    INFO: Connected to RabbitMQ. Broker: 'ubuntu', Port: 5674, VHost: '/'

    1,随机主机选择

    如果您有多个使用EasyNetQ连接到RabbitMQ群集的服务,它们将首先连接到其各自连接字符串中的第一个列出的节点。 如果您打算使用负载平衡功能,则应考虑切换到RandomClusterHostSelectionStrategy。 像这样配置它:

    var bus = RabbitHutch.CreateBus("host=myfirsthost,mysecondhost", x => x.Register<IClusterHostSelectionStrategy<ConnectionFactoryInfo>, RandomClusterHostSelectionStrategy<ConnectionFactoryInfo>>());

    在这个片段中,我们已经替换了RandomClusterHostSelectionStrategy的默认IClusterHostSelectionStrategy,它将随机选择主机。 您可以在这里找到更多有关替换EasyNetQ组件的信息。

    2,考虑使用专用的负载平衡器

    EasyNetQ集群支持的替代方案是使用专用的前端代理。 有关详细信息,请参阅RabbitMQ集群指南的结尾:http://www.rabbitmq.com/clustering.html

  • 相关阅读:
    ActiveMQ的消息模式——队列模式(Queue)
    在foxmail上添加阿里邮箱
    Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 错误解决
    博客园首页新随笔联系管理订阅订阅随笔- 89 文章- 0 评论- 3 Centos7开放及查看端口
    tomcat设置为开机自启动
    Tensorflow2疑难问题---2、tensorflow2.3的GPU版本安装
    Tensorflow2疑难问题---1、课程介绍
    tensorflow2的gpu的版本安装(一些核心点)
    此环境变量太大, 此对话框允许将值设置为最长2047个字符(解决方法)
    windows下cuda的安装
  • 原文地址:https://www.cnblogs.com/zd1994/p/8652407.html
Copyright © 2011-2022 走看看