Redis实现消息队列

一、消息队列

1、什么是消息队列

     消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。

     这个其实跟设计模式中的观察者模式有点像,参考文章《设计模式-观察者模式(observer)》。被观察者可以称之为事件对象,有新的事件发布,会被观察者监听到。

2、消息队列的特点

1)三个角色:生产者、消费者、消息处理中心

     把数据放到消息队列的叫做生产者

     从消息队列里边取数据的叫做消费者

     消息处理中心指的就是消息队列

2)异步处理模式

     生产者将消息发送到一条虚拟的通道(消息队列)上,而无须等待响应。消费者则订阅或是监听该通道,取出消息。两者互不干扰,甚至都不需要同时在线,也就是我们说的松耦合。

3)可靠性

     消息要可以保证不丢失、至少被消费一次、有时可能还需要顺序性的保证

3、为什么要使用消息队列

消息队列是分布式系统中重要的组件,使用消息队列主要是为了通过异步处理提高系统性能和流量削峰、降低系统耦合性。

比如订单系统,与其关联的可能就有商品系统、库存系统、收件地址系统,用户系统、短信(邮件/微信)通知系统,日志记录系统等等

你可能感兴趣的:(Linux,SRE,运维部署与监控,系统性能指标,故障排除,redis,数据库,缓存)