阿里云的服务器一直闲着,烧着银子,当初花几千大洋开通,本想弄信息化的项目为所帮扶的贫困户脱贫助手,不想势单力薄,一直没有找到好的项目。最近大家都在众志成城抗击新肺疫情,于是又想能不能尽点自己的力量,于是又开始打开Visual Studio 鼓捣起项目来,为了测试与微信服务器的消息发送,每次都得把项目 ...
分类:
Web程序 时间:
2020-02-24 00:05:12
阅读次数:
247
用户购买一笔订单,需要在订单的有效截止时间前一定时间,提醒用户去使用。到达有效结束时间,将订单设置为失效。这时候可以用延时队列可以很好的解决,用户下单之后,在有效期前发送一条提醒用户去使用的消息,和一条订单已经失效的消息。 入口 生产者 将消息发送出去,延时delay毫秒,同时记录下消息发送的时间。 ...
分类:
编程语言 时间:
2020-02-21 18:13:39
阅读次数:
67
RabbitMQ 消息可靠性 一、发布确认机制。 生成者发送消息,Exchange路由消息到队列,RabbitMQ就会给生产者发送确认Ack。(注意:发布确认机制不能和事务机制一起使用) 注意:多消息发布确认机制情况下,倘若要发送 100 条消息,发送 90 条后,突然网络故障,后面的消息发送失败了 ...
分类:
其他好文 时间:
2020-02-20 23:47:11
阅读次数:
72
观察者模式(也被称为发布/订阅模式)提供了避免组件之间紧密耦合的另一种方法,它将观察者和被观察的对象分离开。在该模式中,一个对象通过添加一个方法(该方法允许另一个对象,即观察者注册自己)使本身变得可观察。当可观察的对象更改时,它会将消息发送到已注册的观察者。这些观察者收到消息后所执行的操作与可观察的 ...
分类:
编程语言 时间:
2020-02-20 23:42:20
阅读次数:
90
1. 大多应用中,可通过消息服务中间件来提升系统异步通信、扩展解耦能力 2. 消息服务中两个重要概念: 消息代理(message broker)和目的地(destination) 当消息发送者发送消息以后,将由消息代理接管,消息代理保证消息传递到指定目 的地。 3. 消息队列主要有两种形式的目的地 ...
分类:
编程语言 时间:
2020-02-18 20:10:31
阅读次数:
88
一.重试机制 1.由于MQ经常处于复杂的分布式系统中,考虑网络波动,服务宕机,程序异常因素,很有可能出现消息发送或者消费失败的问题。因此,消息的重试就是所有MQ中间件必须考虑到的一个关键点。如果没有消息重试,就可能产生消息丢失的问题,可能对系统产生很大的影响。所以,秉承宁可多发消息,也不可丢失消息的 ...
分类:
其他好文 时间:
2020-02-18 20:06:00
阅读次数:
70
一、概述 1. 大多应用中,可通过消息服务中间件来提升系统异步通信、扩展解耦能力 2. 消息服务中两个重要概念: 消息代理(message broker)和目的地(destination)当消息发送者发送消息以后,将由消息代理接管,消息代理保证消息传递到指定目的地。 3. 消息队列主要有两种形式的目 ...
分类:
编程语言 时间:
2020-02-15 22:05:36
阅读次数:
114
/** * RabbitMQ消息确认机制 * 关于rabbit的生产和消费方的一些实用的操作; * producer的confirm和consumer的ack,这两者使用的模式都是用来保证数据完整性,防止数据丢失 */ /** * producer的confirm模式 * 业务场景描述: * 促销系 ...
分类:
其他好文 时间:
2020-02-14 11:14:24
阅读次数:
98
Routing(路由模式) 生产者将消息发送到direct交换器,在绑定队列和交换器的时候有一个路由key,生产者发送的消息会指定一个路由key,那么消息只会发送到相应key相同的队列,接着监听该队列的消费者消费信息. Direct exchange 会把消息路由到那些binding key与rou ...
分类:
其他好文 时间:
2020-02-13 00:31:49
阅读次数:
345
Publish/Subscribe(发布订阅模式) 发布订阅模式其实就是生产者将数据发送到交换机,交换机将所有的消息发送到每个绑定的队列中,因此 在发布消息时可以只先指定交换机的名称,交换机的声明的代码可以放到消费者端进行声明,队列的声明也放在消费者端来声明 Exchange类型 fanout fa ...
分类:
其他好文 时间:
2020-02-12 23:57:04
阅读次数:
126