RabbitMQ之死信

死信概念

顾名思义就是无法被消费的消息,一般来说,product将消息投递到broke或者直接到queue里,consumer从queue取出消息进行消费,但某些时候由于特定的原因导致queue中的某些消息无法被消费这样的消息如果没有后续的处理么就变成了死信,有死信自然就有私信队列。

MQ

RabbitMQ之发布与确认

发布与确认原理

生产者将信道设置成confirm模式,一旦信道进入confirm模式,所有该信道上面发布的消息都会被指派一个唯一的ID(从1开始),一旦消息被投递到所有匹配队列之后,broker就会发送一个确认给生产者(包含消息唯一ID),这就使得生产者知道消息已经正确到达目的队列了,如果消息和队列是可持久化的,那么确认消息会在消息写入磁盘之后发出,broker回传给生产者的确认消息中deliver-tag域包含了确认消息的序列号,此外broker也可以设置basic.ack的multiple域,表示这个序列号之前的所有消息都已经得到了处理。

MQ

设计模式之访问者模式

访问者模式介绍

访问者模式要解决的核心问题是在一个稳定的数据结构下,如何增加易变得业务访问逻辑。如何通过解耦增强业务扩展性,简单的说,访问者模式的核心在于同一个事务或办事窗口,不同人办不同的事,各自关心角度和访问的信息是不同的,按需选择。

设计模式之模板模式

模板模式介绍

模板模式的核心设计思路是通过在抽象类中定义抽象方法的执行顺序,并将抽象方法设定为只有子类实现,但不设计独立访问的方法。简单的说就是安排的明明白白。

设计模式之策略模式

策略模式介绍

策略模式是一种行为模式,也是替代if…else的利器。他能解决的场景一般包括具有同类可替代的行为逻辑算法,比如不同的交易方式等。

RabbitMQ之Work Queues

Work Queues

工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务,而不得不等待它完成。相反我们安排任务在之后执行。我们把任务封装为消息并将其发送到队列。在后台运行的工作进程将弹出任务并最终执行作业。当有多个线程时,这些工作线程将一起处理这些任务。

MQ

RabbitMQ万恶起源之环境搭建

使用Docker搭建RabbitMQ环境

本次环境搭建使用的Docker,因为是学习嘛,Docker是在是太香了

MQ

设计模式之状态模式

状态模式介绍

状态模式描述的是一个行为下的多种状态变更。例如网站的页面,在登录与没有登录的状态下我们看见的内容有时候是不一样的,如果不登录就不能展示某些页面。

设计模式之观察者模式

观察者模式介绍

简单来讲,观察者模式是指当一个行为发生时,一个用户传递信息,另一个用户接受信息并做出相应的处理,行为和接受者之间没有直接的耦合关联。

设计模式之备忘录模式

备忘录模式介绍

备忘录模式是可回复或回滚配置、以版本为核心功能的设计模式,这种设计模式属于应为模式。在功能实现上,是以不破坏原对象为基础增加备忘录操作类,记录原对象的行为,从而实现备忘录模式。