• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >服务器硬件 > 什么是消息队列,你知道我们为什么需要它吗?

什么是消息队列,你知道我们为什么需要它吗?

作者:xinwang 字体:[增加 减小] 来源:互联网

本文主要包含箭头云服务器,云服务器,域名注册,网站建设,定制建站,自助建站,虚拟主机,域名交易,域名,主机托管租用,企业邮箱,,,等服务器相关知识,xinwang希望可以进行参考
一、什么是消息队列?
    在百度百科中,消息队列是这么解释的:“消息队列”是在消息的传输过程中保存消息的容器。
     消息队列全称为英文Message Queue简称(MQ)是一种应用程序对应用程序的通信方法。MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以取队列中的消息。消息发布者(生产者)只管把消息发布到MQ中而不用管谁来取,消息使用者(消费方)只管从MQ中取消息而不用管是谁发布的。
二、为什么使用消息队列?
   使用消息队列主要有两点好处:1.通过异步处理提高系统性能(削峰、减少响应所需时间);2.降低系统耦合性。
(1) 通过异步处理提高系统性能(削峰、减少响应所需时间)
在不使用消息队列服务器的时候,用户的请求数据直接写入数据库,在高并发的情况下数据库压力剧增,使得响应速度变慢。但是在使用消息队列之后,用户的请求数据发送给消息队列之后立即 返回,再由消息队列的消费者进程从消息队列中获取数据,异步写入数据库。由于消息队列服务器处理速度快于数据库(消息队列也比数据库有更好的伸缩性),因此响应速度得到大幅改善。
通过以上分析我们可以得出消息队列具有很好的削峰作用的功能——即通过异步处理,将短时间高并发产生的事务消息存储在消息队列中,从而削平高峰期的并发事务。 举例:在电子商务一些秒杀、促销活动中,合理使用消息队列可以有效抵御促销活动刚开始大量订单涌入对系统的冲击。
因为用户请求数据写入消息队列之后就立即返回给用户了,但是请求数据在后续的业务校验、写数据库等操作中可能失败。因此使用消息队列进行异步处理之后,需要适当修改业务流程进行配合,比如用户在提交订单之后,订单数据写入消息队列,不能立即返回用户订单提交成功,需要在消息队列的订单消费者进程真正处理完该订单之后,甚至出库后,再通过电子邮件或短信通知用户订单成功,以免交易纠纷。这就类似我们平时手机订火车票和电影票。
(2) 降低系统耦合性
  我们知道如果模块之间不存在直接调用,那么新增模块或者修改模块就对其他模块影响较小,这样系统的可扩展性无疑更好一些。
  我们最常见的事件驱动架构类似生产者消费者模式,在大型网站中通常用利用消息队列实现事件驱动结构。
  消息队列使利用发布-订阅模式工作,消息发送者(生产者)发布消息,一个或多个消息接受者(消费者)订阅消息。 从上图可以看到消息发送者(生产者)和消息接受者(消费者)之间没有直接耦合,消息发送者将消息发送至分布式消息队列即结束对消息的处理,消息接受者从分布式消息队列获取该消息后进行后续处理,并不需要知道该消息从何而来。对新增业务,只要对该类消息感兴趣,即可订阅该消息,对原有系统和业务没有任何影响,从而实现网站业务的可扩展性设计。
  消息接受者对消息进行过滤、处理、包装后,构造成一个新的消息类型,将消息继续发送出去,等待其他消息接受者订阅该消息。因此基于事件(消息对象)驱动的业务架构可以是一系列流程。
  另外为了避免消息队列服务器宕机造成消息丢失,会将成功发送到消息队列的消息存储在消息生产者服务器上,等消息真正被消费者服务器处理后才删除消息。在消息队列服务器宕机后,生产者服务器会选择分布式消息队列服务器集群中的其他服务器发布消息。


为用户提供快速创建、方便管理的消息中间件。http://www..com/cs/rabbitmq.html

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 高可用性集群与负载均衡集群的工作原理哪里不同
  • 香港代理服务器可以租用吗?如何购买香港代理服务器?
  • jsp 服务器租用平台有哪些?jsp服务器页面的特点有哪些?
  • 云计算和物联网有什么关系?
  • cc攻击的种类有哪些 如何防御cc攻击
  • 云文档在线表格怎么做?在线表格如何进行内容筛选?
  • 代理服务器的作用 代理服务器的设置方法
  • ipv6掩码有没有?电脑网络的ipv6如何设置?
  • 用上大数据!南湖区“七星阁”让基层治理更智慧
  • 什么叫云存储 云存储的作用

相关文章

  • 服务器试用哪家好?服务器试用注意事项有哪些?
  • 服务器租用好处有哪些?如何选择靠谱的服务器商家?
  • 游戏服务器租用费用,游戏服务器是什么
  • 服务器租用服务的相关知识点有哪些呢?
  • 如何使用购买的ssl证书?如何购买ssl数字证书?
  • 如何托管网站服务器?双线服务器托管优势有哪些?
  • 什么是服务器,服务器区别是什么
  • 负载均衡解决方案有哪几种?
  • 云服务器怎么配置?云服务器具备的技术有哪些?
  • 云主机安全吗?购买云主机的注意事项有哪些?

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • 入门必备:云计算专业术语速学
    • 云服务器价格对比,怎么购买划算?
    • 一般企业怎么购买服务器和域名,购买哪里的好?
    • 云存储安全吗 云存储的应用领域都在哪里
    • 云服务器哪里买,应该怎么选?
    • 新网 dns域名解析步骤是什么?DNS是什么?
    • web服务器配置方法 web服务器工作原理是什么
    • 如何在云主机部署网站服务器?云主机适合哪些用户?
    • 云服务器管理平台的优势有哪些?如何去选择云服务器的配置?
    • 云主机与vps有哪些区别?购买云主机和vps需要注意什么?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有