1. RabbitMQ 有哪些重要的组件? ConnectionFactory(连接管理器):应用程序与Rabbit之间建立连接的管理器,程序代码中使用。 Channel(信道):消息推送使用的通道。 Exchange(交换器):用于接受、分配消息。 Queue(队列):用于存储生产者的消息。 Ro ...
分类:
其他好文 时间:
2020-01-05 19:05:19
阅读次数:
83
一、前言 RabbitMQ是一个开源的消息队列,轻量级且易于部署,并支持多种消息协议。RabbitMQ可以部署在分布式和联合配置中,以满足高规模、高可用性的需求。本文整合RabbitMQ实现延迟消息的过程,以发送延迟消息取消超时订单为例. 二、RabbitMQ的安装和使用 1、安装Erlang,下载 ...
分类:
其他好文 时间:
2019-12-17 16:35:53
阅读次数:
87
Pulsar官方文档概念和架构-MessagingConcepts中主要内容1消息组成|组成|说明||--------|--------||Value/datapayload|消息携带的数据,所有pulsar的消息携带原始bytes,但是消息数据也需要遵循数据shcema||Key|消息可以被Key打标签。这可以对topic压缩之类的事情起作用||Properties|用户定义属性的可选键/值映射
分类:
其他好文 时间:
2019-11-29 19:45:59
阅读次数:
200
RocketMQ 相比于 RabbitMQ、Kafka 具有主要优势特性有: 支持事务型消息(消息发送和DB操作保持两方的最终一致性,RabbitMQ 和Kafka 不支持) 支持结合 RocketMQ 的多个系统之间数据最终一致性(多方事务,二方事务是前提) 支持18个级别的延迟消息(Rabbit ...
分类:
其他好文 时间:
2019-11-15 20:23:31
阅读次数:
62
本人3年开发经验、18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴、今日头条、滴滴等公司offer,岗位是Java后端开发,最终选择去了欢聚时代。 面试了很多家公司,感觉大部分公司考察的点都差不多,所以将自己的心得记下来,希望能给正在找或者准备找工作的朋友提供一点帮助。另外,目前在欢聚时代也 ...
分类:
编程语言 时间:
2019-11-02 00:08:11
阅读次数:
515
1. 预备知识 1.1 消息传递 首先我们知道消费者是从队列中获取消息的,那么消息是如何到达队列的? 当我们发送一条消息时,首先会发给交换器(exchange),交换器根据规则(路由键:routing key)将会确定消息投递到那个队列(queue)。 需要JAVA Spring Cloud大型企业 ...
分类:
编程语言 时间:
2019-04-02 16:52:54
阅读次数:
154
第一部分:延迟消息的实现原理和知识点 使用RabbitMQ来实现延迟任务必须先了解RabbitMQ的两个概念:消息的TTL和死信Exchange,通过这两者的组合来实现上述需求。 消息的TTL(Time To Live) 消息的TTL就是消息的存活时间。RabbitMQ可以对队列和消息分别设置TTL ...
分类:
其他好文 时间:
2018-06-20 18:44:22
阅读次数:
243
介绍什么是延迟消息,延迟消息在业界的实现情况,分析延迟消息的难点,分析RocketMQ延迟消息的实现,推导延迟消息的方案。 ...
分类:
其他好文 时间:
2018-01-02 11:37:55
阅读次数:
190
需求背景 用户下订单成功之后隔20分钟给用户发送上门服务通知短信 订单完成一个小时之后通知用户对上门服务进行评价 业务执行失败之后隔10分钟重试一次 类似的场景比较多 简单的处理方式就是使用定时任务 假如数据比较多的时候 有的数据可能延迟比较严重,而且越来越多的定时业务导致任务调度很繁琐不好管理。 ...
分类:
其他好文 时间:
2017-08-20 10:18:58
阅读次数:
141
场景一:物联网系统经常会遇到向终端下发命令,如果命令一段时间没有应答,就需要设置成超时。 场景二:订单下单之后30分钟后,如果用户没有付钱,则系统自动取消订单。 最近的一个项目遇到了这种情况,如果运单30分钟还没有被接单,则状态自动变为已取消。实现延迟消息原理如下,借用一张图: php代码如下: 运 ...
分类:
其他好文 时间:
2017-08-06 15:03:49
阅读次数:
209