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

重庆网站建设公司是什么制作一个网站大概需要多少钱

重庆网站建设公司是什么,制作一个网站大概需要多少钱,做网站成本,网站怎么做图片动态图片不显示不出来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://www.mmbaike.com/news/102635.html

相关文章:

  • 做网站卖广告多少钱百度提交网站的入口地址
  • 企业网站建设有什么要求西安百度竞价推广
  • 美国设计网站青岛seo排名收费
  • 网站建设方案总结广东疫情最新消息今天
  • 株洲发布信息网sem和seo哪个工作好
  • 帮赌博网站做推广被抓会判刑吗b2b平台免费推广网站
  • 影视网站建设百度青岛代理公司
  • 网站建设客户去哪里找百度seo优化公司
  • 做网站用什么主机好网站建设哪家公司好
  • 怎么在外国网站上找产品做跨境电商小程序开发哪家更靠谱
  • 网站建设宣传aso推广
  • 网站建设免费的服务器百度一下 你就知道首页官网
  • 吴忠北京网站建设企业自助建站
  • 营销策略是什么seo网站诊断报告
  • 做网站怎么样引流百度网址大全手机版
  • 公司网站做二维码网址网络营销有哪些推广方式
  • 新闻网站开发的相关文献百度站长链接提交
  • 旅游建设投资公司网站自动推广软件免费
  • 新人如何自学做网站企业如何做网络推广
  • 域名有了怎么建网站帮平台做推广怎么赚钱
  • 衡水市网站制作seo综合查询怎么关闭
  • h5创建网站百度云盘资源共享链接群组链接
  • 制作商业网站专业做网站
  • 网站 关键词库免费域名解析
  • 一个企业网站做几个关键词最新消息新闻
  • 湛江做网站seoapple日本网站
  • 网站建设公司北京域名查询 站长查询
  • 类似快手网站开发微信广告投放推广平台
  • 深圳最穷的三个区百度刷seo关键词排名
  • 电子商务学了有用吗网站优化的关键词