当前位置: 首页 > news >正文

网上做网页网站任务赚钱/泰安网站建设优化

网上做网页网站任务赚钱,泰安网站建设优化,烟台莱山区做网站的公司,dreamweaver怎么创建网页一、 什么是消息队列 我们可以把消息队列看作是一个存放消息的容器,当我们需要使用消息的时候,直接从容器中去除消息供自己使用。 消息队列是分布式系统中重要的组件之一。使用消息队列主要是为了通过异步处理提高系统性能和削峰/限流、降低系统耦合性。…

一、 什么是消息队列

我们可以把消息队列看作是一个存放消息的容器,当我们需要使用消息的时候,直接从容器中去除消息供自己使用。

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

因为队列 Queue 是一种先进先出的数据结构,所以消费消息时也是按照顺序来消费的。

二、使用消息队列的三点好处

1.通过异步处理提高系统性能(减少响应所需时间)

        将用户的请求数据存储到消息队列之后就立即返回结果。随后,系统再对消息进行消费。

        用户请求数据写入消息队列之后就立即返回给用户了,但是请求数据在后续的业务校验、写数据库等操作中可能失败。此时使用消息队列进行异步处理,需要适当修改业务流程进行配合,比如用户在提交订单之后,订单数据写入消息队列,不会立即返回用户订单提交成功,要在消息队列的订单消费者进程真正处理完该订单之后,甚至出库后,再通过电子邮件或短信通知用户订单成功,以免交易纠纷。

2.削峰/限流

        先将短时间高并发产生的事务消息存储在消息队列中,然后后端服务根据自己的能力去消费这些消息,这样就避免直接把后端服务器打跨掉。

举例:在电子商务一些秒杀、促销活动中,合理使用消息队列可以有效抵御促销活动刚开始大量订单涌入对系统的冲击。如下图所示:

3.降低系统耦合性

        使用消息队列还可以降低系统耦合性。我们知道如果模块之间不存在直接调用,那么新增模块或者修改模块就对其他模块影响较小,这样系统的可扩展性无疑更好一些。还是直接上图吧:

        生产者(客户端)发送消息到消息队列中去,接受者(服务端)处理消息,需要消费的系统直接去消息队列取消息进行消费即可而不需要和其他系统有耦合, 这显然也提高了系统的扩展性。

        消息队列使利用发布-订阅模式工作,消息发送者(生产者)发布消息,一个或多个消息接受者(消费者)订阅消息。 从上图可以看到消息发送者(生产者)和消息接受者(消费者)之间没有直接耦合,消息发送者将消息发送至分布式消息队列即结束对消息的处理,消息接受者从分布式消息队列获取该消息后进行后续处理,并不需要知道该消息从何而来。对新增业务,只要对该类消息感兴趣,即可订阅该消息,对原有系统和业务没有任何影响,从而实现网站业务的可扩展性设计。消息接受者对消息进行过滤、处理、包装后,构造成一个新的消息类型,将消息继续发送出去,等待其他消息接受者订阅该消息。因此基于事件(消息对象)驱动的业务架构可以是一系列流程。

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

        除了发布-订阅模式,还有点对点订阅模式(一个消息只有一个消费者),我们比较常用的是发布-订阅模式,这两种消息模型是 JMS 提供的.

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

1.系统可用性降低:在加入MQ之前,你不用考虑消息丢失或MQ挂掉等情况,但引入MQ之后就需要去考虑了。

2.系统复杂性提高: 加入MQ之后,你需要保证消息没有被重复消费、处理消息丢失的情况、保证消息传递的顺序性等等问题。

3.一致性问题: 消息队列带来的异步确实可以提高系统响应速度。但是,万一消息的真正消费者并没有正确消费消息的时候,这样就会导致数据不一致的情况了。

http://www.lbrq.cn/news/1120141.html

相关文章:

  • wordpress链接重建/网站seo 优化
  • 绍兴做网站选哪家/杭州百度竞价推广公司
  • wordpress 物流插件/东莞seo建站优化哪里好
  • 建行app怎么解除5000限额/公司排名seo
  • 佛山顺德做网站/关键词首页排名优化
  • wordpress请求接口的方式/百度seo优化收费标准
  • 在手机上做网站/深圳做网站的
  • 网站设计 收费/免费奖励自己的网站
  • wordpress淘客/seo快速排名优化公司
  • 为什么资讯网站荣誉被收录/seo公司 引擎
  • 建设企业网站公司/百度收录查询工具官网
  • 品牌企业网站建设公司/seo研究中心培训机构
  • 外贸网站设计公司/谷歌浏览器官网手机版
  • 郑州专业做网站公/如何自己做一个网址
  • 做外围赌球网站的代理赚钱吗/足球排名最新排名世界
  • 廊坊网站推广公司/十大免费cms建站系统介绍
  • 网站建设接外包流程/app怎么推广运营
  • 网站做等保三级建设/最新国际要闻
  • 网站开发 费用/安卓优化大师下载安装到手机
  • 网站建设合同详细/搜收录批量查询
  • 初中做语文综合题的网站/自己网站怎么推广
  • 响应式网站项目/搜狗识图
  • 陕西建设网官方网站/常用的网络营销工具
  • 网站运营推广主要做什么的/收录好的网站有哪些
  • 公司网站/优化大师电视版
  • 网站开发语言比例/北京seo做排名
  • 能不能同行网站做站长统计/成都网络推广运营公司
  • 网站上的招牌图怎么做/推广方案如何写
  • 当富广州网站建设/网站推广软件哪个最好
  • 游戏钓鱼网站怎么做/网站关键词怎么添加
  • FATFS文件系统原理及其移植详解
  • 参数检验?非参数检验?
  • 从0开始学习R语言--Day48--Calibration Curves 评估模型
  • 基于Canal实现MySQL数据库数据同步
  • 数字IC后端培训教程之数字后端项目典型项目案例解析
  • 鸿蒙网络编程系列58-仓颉版TLS数字证书查看及验签示例