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

北京网站制作设计公司排名ui设计和平面设计有什么区别

北京网站制作设计公司排名,ui设计和平面设计有什么区别,温州网络问政平台官网,系统之家网站怎么做这是一些高级的内容。 RabbitMQ还是运行在网络上的,倘若遇到了网络故障,mq自己挂了,出异常了,都会造成最终状态不一致的问题。这就是可靠性问题。 可靠性:一个消息发送出去之后,至少被消费1次。 要解决这3个…

这是一些高级的内容。
RabbitMQ还是运行在网络上的,倘若遇到了网络故障,mq自己挂了,出异常了,都会造成最终状态不一致的问题。这就是可靠性问题。
可靠性:一个消息发送出去之后,至少被消费1次。
要解决这3个问题

  • 消息发送的时候丢了
  • mq自己丢了
  • 消费者丢了
    以上都失败了,还得有一个兜底方案。这样尽可能万无一失了。

生产者重连

生产者连不上mq了,此时发送直接失败。因此有了失败重连
失败重连配置
它会影响失败时候的性能,因为mq主打不等,所以生产环境建议禁用。

生产者确认

生产者开启确认机制后,MQ收到消息后,会返回消息给生产者

  1. 投递到MQ,但是路由失败了。(你的routingKey不对,或者交换机没绑定。)一般是开发人员的问题。
  2. 投递到了MQ,并且成功入队,告知投递成功ACK。
  3. 持久化消息,入队成功完成持久化好后,才会ACK。
    其他情况都会返回NACK,告知投递失败。

如何接收ack/nack

有同步和异步两个方法
回调配置

先配置

@Configuration
public class MqConfig implements ApplicationContextAware {@Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {RabbitTemplate rabbitTemplate = applicationContext.getBean(RabbitTemplate.class);rabbitTemplate.setReturnsCallback(new ReturnsCallback() {@Overridepublic void returnedMessage(ReturnedMessage returned) {log.debug("收到消息的return  callback");}});}
}
@Testvoid testConfirm() throws InterruptedException {CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());correlationData.getFuture().addCallback(new ListenableFutureCallback<CorrelationData.Confirm>() {@Overridepublic void onFailure(Throwable ex) {log.error("消息回调失败", ex);}@Overridepublic void onSuccess(Confirm result) {log.debug("收到回执");if (result.isAck()) {log.debug("成功");} else {log.debug("失败");}}});rabbitTemplate.convertAndSend("hmall.direct11", "blue11", "hello",correlationData);Thread.sleep(2000);}

情况总结:

  1. 消息成功到达交换机但是没被路由,返回ack但是有renturn消息。
  2. 彻底成功
  3. 持久化消息,入队并且持久化成功,返回ACK
  4. 其他情况都会返回NACK,告知投递失败。

注意nack是由 result.isAck() 为false返回出来的,要关注这个选项。生产者确认有网络开销,建议不开启。要开,publisher-return 开这个就可以了。

数据持久化

消息发给mq,但是mq自己挂了,那么消息就丢失了。
或者mq内存空间有限,消息积压,引发mq阻塞。 mq在太满的时候,会把消息存到硬盘上,这个过程是阻塞的过程。
mq3.6之前用数据持久化解决

交换机的持久化

  • 交换机持久化
  • 队列持久化 durable
    Spring 默认都是持久化的。
    消息的持久化,delivery_model =2 是消息的持久化。默认是1。
    这个性能上不是很好。
    接下来mq3.6之后,有了惰性队列。
    接收到消息后,直接保存到磁盘。读消息就从磁盘中读取兵器加载到内存。内存只保存最近的2048条。在3.12之后,所有队列都是Lazy Queue模式,无法更改。
    LazyQueue对写磁盘有优化。

消费者可靠性

消费者确认机制

消费者是否成功处理消息,得有一个回执,告诉到底是处理成功了,还是失败了。

  • ack
  • nack
  • reject
http://www.yayakq.cn/news/457572/

相关文章:

  • 网站建站网站 小说重庆房地产新闻
  • 公路建设网站遵义制作网站
  • 二手商品网站的设计与建设论文北京建设工程信息网官网入口
  • 二级域名iis建立网站婚庆5个坑
  • 专业网站构建如何入侵网站后台密码
  • 查询建设工程施工规范网站wap 网站 手机
  • 做网站买过域名之后域名注册好了怎么了做网站
  • 响应式网站建设的优势wordpress 英语
  • 如何ps做网站首页自己做的网站视频播放不了
  • 网站开发计入无形资产吗网站建设排名的公司
  • 哪些网站可以做店淘客黄页88的盈利模式
  • 安徽省工程建设信息官方网站做个网站多少钱 百度能查到的
  • 帝国手机网站cms系统企业网站建设需要资料
  • 网站seo在哪里设置更换网站程序
  • 可信网站认证哪里有河南省住房城乡建设厅官网
  • 微信公众平台运营包年seo和整站优化
  • 建设工程自学网站宜昌seo优化
  • 百度统计搜索词为什么有与网站不相关的词wordpress home index
  • 一般网站隐蔽点么么进h5游戏充值折扣平台
  • 政务门户网站建设思想怎样做网络推广wsyx挣钱
  • 专业网站制作公司采用哪些技术制作网站?工作心得体会感悟简短
  • 做网站页面代码ui个人作品集网站
  • 云南省住房和城乡建设厅网站做网站内容需要自己填的
  • 诸暨公司制作网站需要哪些创意图案设计网站
  • 实名制认证网站网站开发外键
  • 网站建设需要多久软件网站建设专业
  • 网站做视频怎么赚钱的天津网站建设营销
  • 网站 意义做不锈钢管网站
  • 产品展示型网站有哪些长沙网站优化步骤
  • 2014 网站建设导购网站怎么做视频教学