当前位置: 首页 > news >正文

深圳做网站的公司的区域成都百度seo优化公司

深圳做网站的公司的区域,成都百度seo优化公司,闽侯县建设局网站,怎么创建网页快捷方式异步投递 activemq支持同步和异步两种发送的模式将消息发送到broker,模式的选择对发送延时有巨大的影响。producer能达到怎样的产出率(产出率发送数据总量/时间),主要受发送延时的影响,使用异步发送能够显著的提高发送的性能。 activemq默认使用异步发送…

异步投递

activemq支持同步和异步两种发送的模式将消息发送到broker,模式的选择对发送延时有巨大的影响。producer能达到怎样的产出率(产出率=发送数据总量/时间),主要受发送延时的影响,使用异步发送能够显著的提高发送的性能。

activemq默认使用异步发送的模式

除非明确指定使用同步发送的方式或者在未使用事务的前提下发送持久化消息,这两种情况是同步发送到。

如果没有使用事务且发送的是持久化的消息,每一次发送都是同步发送的且会阻塞producer直到broker返回一个确认,表示消息已经被安全的持久化到了磁盘。确认机制提供了消息安全的保障,但同时阻塞客户端也带来了很大的延迟。

所以允许在失败的情况下丢失少量的数据,可以使用异步发送来提高生产率。

异步发送可以最大化producer的发送效率。通常在发送消息量比较密集的情况下使用异步发送,可以提高producer的性能,但也会有额外的问题:

需要消耗较多的client内存,也会使broker端性能消耗增加,且不能有效的保证消息的发送成功。

所以在userAsyncSend=true的情况下客户端需要容忍消息丢失的可能。

配置方式:有3种

tcp://106.13.187.36:61616?jms.useAsyncSend=true
activeMQConnectionFactory.setUseAsyncSend(true);
((ActiveMQConnection) connection).setUseAsyncSend(true);

异步发送如何确保成功

异步发送消息丢失的场景:

生产者设置useAsyncSend=true,使用producer.send(msg)持续发送消息。

由于消息是不阻塞的,生产者会认为所有send的消息都是发送成功到mq的。但是如果mq突然宕机后,此时在生产者端内存中未发送的消息将会丢失。

所以,正确的异步发送是需要接收回调的。

同步发送和异步发送的区别:

同步发送完之后,send不阻塞了就表示发送成功了

异步发送完之后,需要接收回执并由客户端再次判断是否发送成功

通过ActiveMQMessageProducer实现的回调,之前的代码使用MessageProducer发送的消息

public class JmsProducerAsyncSend {public static final String ACTIVEMQ_URL = "tcp://localhost61616";public static final String USERNAME = "admin";public static final String PASSWORD = "hll123";public static final String QUEUE_NAME = "queue01";public static void main(String[] args) throws Exception {ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(USERNAME, PASSWORD, ACTIVEMQ_URL);// 设置异步发送activeMQConnectionFactory.setUseAsyncSend(true);Connection connection = activeMQConnectionFactory.createConnection();connection.start();Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);Queue queue = session.createQueue(QUEUE_NAME);// 使用ActiveMQMessageProducer实现回调ActiveMQMessageProducer activeMQMessageProducer = (ActiveMQMessageProducer)session.createProducer(queue);TextMessage textMessage = null;for (int i = 1; i <= 3; i++) {textMessage = session.createTextMessage("message=" + i);// 设置消息idtextMessage.setJMSMessageID(IdUtil.fastSimpleUUID() + "-callback");String msgId = textMessage.getJMSMessageID();// 实现异步回调,确认消息发送成功activeMQMessageProducer.send(textMessage, new AsyncCallback() {@Overridepublic void onSuccess() {System.out.println(msgId + " success");}@Overridepublic void onException(JMSException e) {System.out.println(msgId + " error");}});}activeMQMessageProducer.close();session.close();connection.close();System.out.println(" **** 消息发送到MQ完成 **** ");}
}
http://www.lbrq.cn/news/2773171.html

相关文章:

  • 高端的网站制作百度投放
  • 北京小型网站建设东莞关键字排名优化
  • 哪个网站能在百度做推广手机优化软件下载
  • 做电影资源网站违法吗外汇seo公司
  • sem算网站设计吗百度关键词刷排名教程
  • 做网站机构图用什么工具百度搜索风云榜
  • 做seo对网站推广有什么作用新东方在线教育平台官网
  • php学校网站系统英文谷歌seo
  • 网站全景看图怎么做seo专员是做什么的
  • 北京 网站建设 京icpseo自然优化排名技巧
  • 电子商务网站建设规划心得企业关键词排名优化网址
  • 镇江网站建设包括哪些seo服务合同
  • 珠海建站模板源码正在播网球比赛直播
  • 做360手机网站快网站推广软文范例
  • 做环保是跑还是网站卖大连网站优化
  • 给几个手机网站软件开发需要学什么
  • 网站布局怎么做市场营销策划方案3000字
  • 下载做ppt的动画片的好网站苹果aso优化
  • 如东做网站网站建设平台有哪些
  • 做轻淘客网站要多大的空间吉林网络seo
  • 网站建设赚钱流程易观数据
  • 什么网站可以做教师资格证的题公众号怎么引流推广
  • 企业网站建设规划的基本原则是什么湖北搜索引擎优化
  • wordpress 二次开发广州seo推广优化
  • 旅行网站排名前十名个人建网站的详细步骤
  • 做网站如何接单网络营销课程感悟
  • bootstrap响应式网站开发实战电商常用的seo工具推荐
  • e4a做网站品牌营销策划与管理
  • 开封开封县网站建设营销策划方案模板范文
  • wordpress可以做门户网站南京seo关键词优化预订
  • 迁移学习(Transfer Learning)
  • 从线性回归到神经网络到自注意力机制 —— 激活函数与参数的演进
  • 114. 二叉树展开为链表
  • 【AI】算法环境-显卡、GPU、Cuda、NVCC和cuDNN的区别与联系
  • “道法术器” 思维:解析华为数字化转型
  • JavaSE——高级篇