前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >聊聊消息队列的理解

聊聊消息队列的理解

作者头像
码农王同学
发布2020-03-25 12:05:35
4930
发布2020-03-25 12:05:35
举报
文章被收录于专栏:后端Coder后端Coder

今天想谈谈自己对消息队列,message

queue的理解,队列的特点就是先进先出,FIFO模式,消息队列的使用在于系统应用间的解耦,挺符合软件工程中那句"高内聚,低耦合"的特点,学生时期记得一点内容,哈哈。

谈谈消息队列的优缺点,消息队列可以应用于系统间的解耦,异步请求,高峰限流,比如应用A要向应用B,应用C传递数据,一般的处理就是在应用A通过接口调用的方式调用应用B,应用C的接口方法进行同步请求处理,缺点是同步调用有可能导致网络超时,请求失败如何进行重试或如何处理。

引入消息队列后我们将应用B,应用C需要的数据投递到消息队列中,应用B,应用C根据自己监听的队列名称去进行数据的处理,这样就解决了系统应用之间同步调用,应用耦合的解耦了,符合上面"高内聚,低耦合"的特点。

消息队列用于高峰限流,比如秒杀活动促销为数不多的电子产品,只有部分用户可以抢到,如果直接通过接口调用的方式进行抢购电子产品,系统应用数据库由于扛不住这么高的并发,应用会出现故障咯,采用消息队列的方式,消息队列接收用户的请求,后台服务器根据的消费能力去慢慢处理请求,这样可以避免洪峰作用时导致的应用故障。

使用了中间件好处很多,系统解耦,提高系统的并发处理请求能力,提高用户体验等优点,但是万事万物都有两面性,我们要保证以及确保中间件组件的高可用,不然这样会出现空谈的现象。如何保证组件的高可用可能不是后台开发的分内之事,要依靠运维人员的水平了,对于消息队列的理解到这里就结束了,如有不当之处,请多多指教。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农王同学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 CMQ 版
消息队列 CMQ 版(TDMQ for CMQ,简称 TDMQ CMQ 版)是一款分布式高可用的消息队列服务,它能够提供可靠的,基于消息的异步通信机制,能够将分布式部署的不同应用(或同一应用的不同组件)中的信息传递,存储在可靠有效的 CMQ 队列中,防止消息丢失。TDMQ CMQ 版支持多进程同时读写,收发互不干扰,无需各应用或组件始终处于运行状态。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档