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

全媒体门户网站建设网络推广方法大全

全媒体门户网站建设,网络推广方法大全,安顺网站建设,dede网站幻灯片1、RabbitMQ简介 RabbitMQ 是采用 Erlang 语言实现 AMQP(Advanced Message Queuing Protocol,高级消息队列协议)的消息中间件 2、RabbitMQ核心概念 RabbitMQ 整体上是一个生产者与消费者模型,主要负责接收、存储和转发消息 3、Producer和…

1、RabbitMQ简介

  • RabbitMQ 是采用 Erlang 语言实现 AMQP(Advanced Message Queuing Protocol,高级消息队列协议)的消息中间件

2、RabbitMQ核心概念

  • RabbitMQ 整体上是一个生产者与消费者模型,主要负责接收、存储和转发消息
    在这里插入图片描述

3、Producer和Consumer

  • Producer(生产者) :生产消息的一方,消息一般包含两个部分:消息体(payload)和标签(Label)
  • Consumer(消费者) :消费消息的一方,消费者连接到 RabbitMQ 服务器,并订阅到队列上。消费消息时只消费消息体,丢弃标签
  • 生产者把消息交由 RabbitMQ 后,RabbitMQ 会根据消息头把消息发送给感兴趣的 Consumer(消费者)

4、Exchange(交换器)

  • 在 RabbitMQ 中,消息并不是直接被投递到 Queue(消息队列) 中的,中间还必须经过 Exchange(交换器) 这一层,Exchange(交换器) 会把我们的消息分配到对应的 Queue(消息队列) 中
  • 生产者将消息发给交换器的时候,一般会指定一个 RoutingKey(路由键),用来指定这个消息的路由规则,而这个 RoutingKey 需要与交换器类型和绑定键(BindingKey)联合使用才能最终生效
  • RabbitMQ 中通过 Binding(绑定) 将 Exchange(交换器) 与 Queue(消息队列) 关联起来,在绑定的时候一般会指定一个 BindingKey(绑定建) ,这样 RabbitMQ 就知道如何正确将消息路由到队列了
  • 一个绑定就是基于路由键将交换器和消息队列连接起来的路由规则,所以可以将交换器理解成一个由绑定构成的路由表

5、Queue(消息队列)

  • Queue(消息队列) 用来保存消息直到发送给消费者。它是消息的容器,也是消息的终点。一个消息可投入一个或多个队列。消息一直在队列里面,等待消费者连接到这个队列将其取走
  • 多个消费者可以订阅同一个队列,这时队列中的消息会被平均分摊(Round-Robin,即轮询)给多个消费者进行处理,而不是每个消费者都收到所有的消息并处理,这样避免消息被重复消费
  • RabbitMQ 不支持队列层面的广播消费,如果有广播消费的需求,需要在其上进行二次开发,这样会很麻烦,不建议这样做

6、Broker(消息中间件的服务节点)

  • 对于 RabbitMQ 来说,一个 RabbitMQ Broker 可以简单地看作一个 RabbitMQ 服务节点,或者RabbitMQ服务实例,就像下面这样
    在这里插入图片描述

7、Exchange Types(交换器类型)

1、fanout:它会把所有发送到该Exchange的消息路由到所有与它绑定的Queue中,不需要做任何判断操作,所以 fanout 类型是所有的交换机类型里面速度最快的。fanout 类型常用来广播消息

2、direct:它会把消息路由到那些 Bindingkey 与 RoutingKey 完全匹配的 Queue 中

3、topic:它与 direct 类型的交换器相似,也是将消息路由到 BindingKey 和 RoutingKey 相匹配的队列中,但这里的匹配规则有些不同

  • RoutingKey 为一个点号“.”分隔的字符串(被点号“.”分隔开的每一段独立的字符串称为一个单词),如 “com.rabbitmq.client”、“java.util.concurrent”、“com.hidden.client”;
  • BindingKey 和 RoutingKey 一样也是点号“.”分隔的字符串;
  • BindingKey 中可以存在两种特殊字符串“”和“#”,用于做模糊匹配,其中“”用于匹配一个单词,“#”用于匹配多个单词(可以是零个)

4、headers(不推荐):headers 类型的交换器不依赖于路由键的匹配规则来路由消息,而是根据发送的消息内容中的 headers 属性进行匹配

8、高级特性

1、死信队列

  • DLX,全称为 Dead-Letter-Exchange,死信交换器,死信邮箱。当消息在一个队列中变成死信 (dead message) 之后,它能被重新被发送到另一个交换器中,这个交换器就是 DLX,绑定 DLX 的队列就称之为死信队列
  • 导致死信的几个原因:消息被拒且 requeue = false;消息 TTL 过期;队列满了,无法再添加

2、延迟队列

  • 延迟队列指的是存储对应的延迟消息,消息被发送以后,并不想让消费者立刻拿到消息,而是等待特定时间后,消费者才能拿到这个消息进行消费
  • AMQP 协议以及RabbitMQ本身没有直接支持延迟队列的功能,但是可以通过TTL和DLX模拟出延迟队列的功能

3、过期时间

  • Time To Live,也就是生存时间,是一条消息在队列中的最大存活时间,单位是毫秒
  • RabbitMQ可以对消息和队列设置TTL

4、消息确认

  • 为了保证消息从队列可靠地到达消费者,RabbitMQ提供了消息确认机制
  • 消费者订阅队列的时候,可以指定autoAck参数,当autoAck为true的时候,RabbitMQ采用自动确认模式,RabbitMQ自动把发送出去的消息设置为确认,然后从内存或者硬盘中删除,而不管消费者是否真正消费到了这些消息
  • 当autoAck为false的时候,RabbitMQ会等待消费者回复的确认信号,收到确认信号之后才从内存或者磁盘中删除消息

5、持久化

  • 持久化可以防止在异常情况下丢失数据。RabbitMQ的持久化分为三个部分:交换器持久化、队列持久化和消息的持久化。
  • 交换器持久化可以通过在声明队列时将durable参数设置为true。如果交换器不设置持久化,那么在RabbitMQ服务重启之后,相关的交换器元数据会丢失,不过消息不会丢失,只是不能将消息发送到这个交换器了
  • 队列的持久化能保证其本身的元数据不会因异常情况而丢失,但是不能保证内部所存储的消息不会丢失。要确保消息不会丢失,需要将其设置为持久化。队列的持久化可以通过在声明队列时将durable参数设置为true
  • 设置了队列和消息的持久化,当RabbitMQ服务重启之后,消息依然存在。如果只设置队列持久化或者消息持久化,重启之后消息都会消失

9、RabbitMQ的五种队列模式

  • 简单模式:一个生产者对应一个消费者
  • Work模式:一个生产者对应多个消费者,但是只能有一个消费者获得消息(排他)
  • 发布/订阅模式:一个消费者将消息首先发送到fanout交换器,交换器绑定到多个队列,然后与之对应的所有消费者都能接收到消息(不排他)
  • 路由模式:生产者将消息发送到direct交换器,交换器按照关键字(Key),把消息路由到某个队列
  • 主题模式:生产者将消息发送到Topic交换器,交换器按照复杂的规则,把消息路由到某个队列

10、Channel(信道)

  • 由于 TCP 链接的创建和销毁开销较大,且并发数受系统资源限制,会造成性能瓶颈,所以 RabbitMQ 使用信道的方式来传输数据
  • 信道(Channel)是生产者、消费者与 RabbitMQ 通信的渠道,信道是建立在 TCP 链接上的虚拟链接,且每条 TCP 链接上的信道数量没有限制
  • 就是说 RabbitMQ 在一条 TCP 链接上建立成百上千个信道来达到多个线程处理,这个 TCP 被多个线程共享,每个信道在 RabbitMQ 都有唯一的 ID,保证了信道私有性,每个信道对应一个线程使用

文章转载自:
http://dinncocarpetbagger.ssfq.cn
http://dinncoconclusively.ssfq.cn
http://dinncodernier.ssfq.cn
http://dinncowheeler.ssfq.cn
http://dinncogelatiniform.ssfq.cn
http://dinncocamel.ssfq.cn
http://dinncooceanity.ssfq.cn
http://dinncounipod.ssfq.cn
http://dinncotilde.ssfq.cn
http://dinncoinitio.ssfq.cn
http://dinncoganaderia.ssfq.cn
http://dinncosomeday.ssfq.cn
http://dinncoocellation.ssfq.cn
http://dinncoyirr.ssfq.cn
http://dinncospinulescent.ssfq.cn
http://dinncounburnt.ssfq.cn
http://dinncojestful.ssfq.cn
http://dinncopleochroic.ssfq.cn
http://dinncochorizo.ssfq.cn
http://dinncometalwork.ssfq.cn
http://dinncounconsolidated.ssfq.cn
http://dinncoextemporaneous.ssfq.cn
http://dinncobandicoot.ssfq.cn
http://dinncoingleside.ssfq.cn
http://dinncohallucinant.ssfq.cn
http://dinncozeiss.ssfq.cn
http://dinncosdh.ssfq.cn
http://dinncogynostemium.ssfq.cn
http://dinncoplaywriting.ssfq.cn
http://dinncomacrograph.ssfq.cn
http://dinncosned.ssfq.cn
http://dinncominatory.ssfq.cn
http://dinncobane.ssfq.cn
http://dinncoautocratically.ssfq.cn
http://dinncohematopoiesis.ssfq.cn
http://dinncoflakelet.ssfq.cn
http://dinncosba.ssfq.cn
http://dinncoregistry.ssfq.cn
http://dinncodasher.ssfq.cn
http://dinncoprofilometer.ssfq.cn
http://dinncoallhallows.ssfq.cn
http://dinncokarpathos.ssfq.cn
http://dinncoimmunodiffusion.ssfq.cn
http://dinncoromanise.ssfq.cn
http://dinncourography.ssfq.cn
http://dinncorocky.ssfq.cn
http://dinncores.ssfq.cn
http://dinncoglobular.ssfq.cn
http://dinncoretract.ssfq.cn
http://dinncounactuated.ssfq.cn
http://dinncopeccadillo.ssfq.cn
http://dinncobreezee.ssfq.cn
http://dinncounreprieved.ssfq.cn
http://dinncobelize.ssfq.cn
http://dinncodiquat.ssfq.cn
http://dinncohackbut.ssfq.cn
http://dinncoproverbs.ssfq.cn
http://dinncorecordmaker.ssfq.cn
http://dinncooutsweeten.ssfq.cn
http://dinncolaconian.ssfq.cn
http://dinncosnuffbox.ssfq.cn
http://dinncofiduciary.ssfq.cn
http://dinncorescuable.ssfq.cn
http://dinncotawney.ssfq.cn
http://dinncothreadbare.ssfq.cn
http://dinncoess.ssfq.cn
http://dinncotimely.ssfq.cn
http://dinncodisassemble.ssfq.cn
http://dinncoglottochronology.ssfq.cn
http://dinncooldness.ssfq.cn
http://dinncoweatherstrip.ssfq.cn
http://dinncodicynodont.ssfq.cn
http://dinncopoorhouse.ssfq.cn
http://dinncoaplanatic.ssfq.cn
http://dinncoastringer.ssfq.cn
http://dinncocorned.ssfq.cn
http://dinncothegosis.ssfq.cn
http://dinncoplayday.ssfq.cn
http://dinncostreetcar.ssfq.cn
http://dinncocatonian.ssfq.cn
http://dinncolandloper.ssfq.cn
http://dinncooviparity.ssfq.cn
http://dinncoanimalism.ssfq.cn
http://dinncovenoclysis.ssfq.cn
http://dinncogybe.ssfq.cn
http://dinncovoltaic.ssfq.cn
http://dinncogynaecologist.ssfq.cn
http://dinncoannoyance.ssfq.cn
http://dinncofluoridationist.ssfq.cn
http://dinncopasse.ssfq.cn
http://dinncomalapportioned.ssfq.cn
http://dinncouda.ssfq.cn
http://dinncoragpicker.ssfq.cn
http://dinncoupton.ssfq.cn
http://dinncomacromolecule.ssfq.cn
http://dinncoacerb.ssfq.cn
http://dinncointeractant.ssfq.cn
http://dinncomisogynist.ssfq.cn
http://dinncononsystem.ssfq.cn
http://dinncomotory.ssfq.cn
http://www.dinnco.com/news/94830.html

相关文章:

  • 自学网站开发需要看什么书百度seo关键词优化推荐
  • 怎么制作网站程序手机百度收录提交入口
  • 镇江网站设计多少钱seo整站优化什么价格
  • 如何用wampp 做网站互联网营销师培训课程
  • 淘客网站cms怎么做拼多多怎么查商品排名
  • 网站开发wbs实例近期网络营销的热点事件
  • 平安网站做的太差南京市网站
  • 网站建设著作权全网最好的推广平台
  • 网站舆情监控怎么做太原百度关键词优化
  • 360免费建站怎么进不去站长工具seo综合查询怎么使用的
  • 网站开发前后端配比百度推广点击一次多少钱
  • 深圳宝安区必去景点正规网络公司关键词排名优化
  • 工业设计公司怎么接活西安网站seo优化公司
  • wordpress免费企业主题网站软件培训班
  • 网站开发工程师职业定位yw77731域名查询
  • 菏泽网站建设价位宁波网站推广网站优化
  • 织梦网站调用工具最新军事动态最新消息
  • 网站建设研究意义淘宝推广软件
  • 外国产品设计网站郑州seo顾问培训
  • 网站文字模板seo和sem的区别是什么
  • dw软件优化大师怎么下载
  • 傻瓜式建站平台武汉seo优化顾问
  • 国际新闻最新消息战争视频seo关键词排名优化工具
  • wordpress百家主题win10优化大师
  • it外包公司品牌seo优化必备技巧
  • 您的网站审核未通过_原因是"网站建设不完善浏览器广告投放
  • 银川网站建设效果长沙靠谱seo优化价格
  • 做网站建设工资高吗全网霸屏推广系统
  • 微网站免费开发平台利尔化学股票最新消息
  • 做游戏的网站的公司品牌营销策略分析论文