第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

RabbitMQ-Java客戶(hù)端API指南-下

標(biāo)簽:
Java

RabbitMQ-Java客户端API指南-下

使用主机列表

可以将Address数组传递给newConnection()。的地址是简单地在一个方便的类com.rabbitmq.client包与主机 和端口组件。
例如:

Address[] addrArr = new Address[]{ new Address(hostname1, portnumber1), new Address(hostname2, portnumber2)};
Connection conn = factory.newConnection(addrArr);

使用AddressResolver接口进行服务发现

从版本3.6.6开始,可以让AddressResolver的实现 在创建连接时选择连接的位置:

Connection conn = factory.newConnection(addressResolver);public interface AddressResolver {  List<Address> getAddresses() throws IOException;
}

就像主机列表一样,返回的第一个地址将首先被尝试,如果客户端无法连接到第一个地址,则返回第二个,依此类推。

从网络故障中自动恢复

连接恢复

ConnectionFactory factory = new ConnectionFactory();
factory.setUsername(userName);
factory.setPassword(password);
factory.setVirtualHost(virtualHost);
factory.setHost(hostName);
factory.setPort(portNumber);
factory.setAutomaticRecoveryEnabled(true);// connection that will recover automaticallyConnection conn = factory.newConnection();

如果由于异常而导致恢复失败(例如,RabbitMQ节点仍然无法访问),则会在固定的时间间隔(默认值为5秒)后重试。间隔可以配置:

ConnectionFactory factory = new ConnectionFactory();// attempt recovery every 10 secondsfactory.setNetworkRecoveryInterval(10000);

当提供地址列表时,列表被混洗,并且所有地址在下一个地方被尝试:

ConnectionFactory factory = new ConnectionFactory();
Address[] addresses = {new Address("192.168.1.4"), new Address("192.168.1.5")};
factory.newConnection(addresses);

指标和监测

从版本4.0.0开始,客户端收集运行时指标(例如已发布消息的数量)。度量标准集合是可选的,并使用setMetricsCollector(metricsCollector)方法在ConnectionFactory级别进行设置 。此方法需要一个MetricsCollector实例,在客户端代码的多个位置调用该实例。
客户端支持 Micrometer (截至版本4.3)和 Dropwizard Metrics  开箱即用。
以下是收集的指标:

打开连接的数量
开放频道的数量
已发布消息的数量
消耗的消息数量
已确认消息的数量
被拒绝的邮件数量

Micrometer和Dropwizard Metrics都提供计数,但也包括平均速率,最后五分钟速率等,用于与消息相关的指标。他们还支持通用的监控和报告工具(JMX,Graphite,Ganglia,Datadog等)。

Micrometer支持

ConnectionFactory connectionFactory = new ConnectionFactory();
MicrometerMetricsCollector metrics = new MicrometerMetricsCollector();
connectionFactory.setMetricsCollector(metrics);
...
metrics.getPublishedMessages(); // get Micrometer's Counter object

支持 多种报告后端:Netflix Atlas,Prometheus,Datadog,Influx,JMX等
您通常会将MeterRegistry的一个实例传递 给MicrometerMetricsCollector。这里是JMX的一个例子:

JmxMeterRegistry registry = new JmxMeterRegistry();
MicrometerMetricsCollector metrics = new MicrometerMetricsCollector(registry);
ConnectionFactory connectionFactory = new ConnectionFactory();
connectionFactory.setMetricsCollector(metrics);

Dropwizard Metrics支持

ConnectionFactory connectionFactory = new ConnectionFactory();
StandardMetricsCollector metrics = new StandardMetricsCollector();
connectionFactory.setMetricsCollector(metrics);
...
metrics.getPublishedMessages(); // get Metrics' Meter object

支持 多种报告后端:Netflix Atlas,Prometheus,Datadog,Influx,JMX等
您通常会将MetricsRegistry的一个实例传递 给StandardMetricsCollector。这里是JMX的一个例子:

MetricRegistry registry = new MetricRegistry();
StandardMetricsCollector metrics = new StandardMetricsCollector(registry);

ConnectionFactory connectionFactory = new ConnectionFactory();
connectionFactory.setMetricsCollector(metrics);

JmxReporter reporter = JmxReporter
  .forRegistry(registry)
  .inDomain("com.rabbitmq.client.jmx")
  .build();
reporter.start();



作者:全能程序猿
链接:https://www.jianshu.com/p/fda100811654


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消