消息队列基础

时间:2020-02-18 10:54:03   收藏:0   阅读:65

什么是消息队列?

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

1.异步处理提高系统性能(削峰、减少响应所需要的时间)

不使用消息队列:
技术分享图片
在不使用消息队列时,用户的请求数据直接写入数据库,在高并发情况下,数据库的数据剧增,使得响应速度慢。

使用消息队列:
技术分享图片
使用了消息队列,用户的请求发送给消息队列后立即返回,再由消息队列的消费者进程从消息队列中获取数据,异步写入数据库。响应速度得到大幅改善

2.降低系统耦合性

可以使模块直接不直接调用,那么新增模块或者修改模块就对其他模块影响较小,可扩展性更好

消息发送者(生产者)和消息接受者(消费者)之间没有直接耦合,消息发送者将消息发送 至分布式消息队列即结束对消息的处理,消息接受者从分布式消息队列获取该消息后进行后续处理,并不需要知道该 消息从何而来。

另外为了避免消息队列服务器宕机造成消息丢失,会将成功发送到消息队列的消息存储在消息生产者服务器上, 等消息真正被消费者服务器处理后才删除消息。在消息队列服务器宕机后,生产者服务器会选择分布式消息队列服务 器集群中的其他服务器发布消息。

使用消息队列带来的一些问题

原文:https://www.cnblogs.com/programmerzx/p/12324578.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!