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

php网站源码删除培训总结心得体会

php网站源码删除,培训总结心得体会,平面设计网站制作,一半招聘网站海报格式都怎么做在前面的章节中我们简单介绍过一些RabbitMQ的工作模式,RabbitMQ共提供了七种工作模式进行消息传递,这里我们来详细介绍。 1. Simple(简单模式) P:生产者 C:消费者 特点:一个生产者一个消费者,消息只能被…

在前面的章节中我们简单介绍过一些RabbitMQ的工作模式,RabbitMQ共提供了七种工作模式进行消息传递,这里我们来详细介绍。

1. Simple(简单模式)

P:生产者

C:消费者

特点:一个生产者一个消费者,消息只能被消费一次,也称为点对点(Point-to-Point)模式。我们上期写的示例就是这个模式

适用场景:消息只能被单个消费者处理。

2. Work Queue(工作队列) 

一个生产者,多个消费者,将消息分给不同的消费者,每个消费者收到不同的消息。

特点:消息不会被重复处理

使用场景:集群环境中做异步处理,例如12306短信通知服务,订票成功后,订单消息会发送给RabbitMQ,短信服务从RabbitMQ中获取订单信息并发送通知信息 。

3. Publish/Subscribe(发布/订阅)

 X表示交换机,生产者将消息发送给Exchange,由交换机按一定的规则路由到一个或多个队列中。

特点:一个生产者多个消费者,生产者发送一条消息,交换机(Fanout)转发给所有绑定的队列。

适用场景:消息需要被多个消费者同时接收的场景,如实时通知或者广播消息。例如电商平台下单后,同时触发 “用户通知”“库存扣减”“订单统计” 多个操作。

RabbitMQ有四种类型的交换机,不同类型有不同的路由策略:

  1. Fanout:广播,将消息交给所有绑定到交换机的队列(Publish/Subcribe模式)
  2. Direct:定向,把消息交给符合指定routing key的队列(Routing模式)
  3. Topic:通配符,把消息交给符合routing pattern(路由模式)的队列(Topics模式)
  4. Headers:headers类型的交换机不依赖于路由键的匹配规则来路由消息,而是根据发送的消息内容中的headers属性进行匹配,headers类型的交换机性能会很差,而且也不实用,基本不会看到它的存在。

Exchange只负责转发消息,不具备存储消息的能力,因此如果没有任何队列与Exchange绑定,或者没有符合路由规则的队列,那么消息就会丢失

注意:简单模式 和 工作队列模式 也会使用交换机转发消息,不会在生产者把消息直接发送给队列的情况,通常这两种模式使用的是Direct交换机,routing key通常为队列名。

  • routing key:路由键,生产者将消息发送给交换机时指定的一个字符串,用来告诉交换机把消息转发到哪个队列。每个消息只能有一个routing key
  • binding key:绑定,队列在绑定到交换机时,需要指定 BindingKey 作为匹配规则,只接收routing key对应的消息。一个队列可以有多个binding key,通过多次绑定实现

 4. Routing(路由模式)

路由模式是发布订阅模式的变种,在发送订阅的基础上,增加routing key,发布订阅模式是无条件将消息转发给所有队列,路由模式Exchange会根据routing key的规则来转发。

适用场景,需要根据特定规则分发消息的场景,例如系统打印日志,日志等级分为error,warning,info,debug,就可以通过这种模式把不同日志发送到不同的队列,最终输出到不同的文件。

5. Topics(通配符模式)

路由模式的升级版,在 Routing的基础上,增加了通配符的功能,即队列的bingding key可以写作通配符的模式来匹配不同的routing key

通配符规则

  • *(星号):匹配一个单词(如"order.*"匹配"order.create"但不匹配"order.create.success")。
  • #(井号):匹配零个或多个单词(如"order.#"匹配所有以"order."开头的 Routing Key)。

适用场景:需要灵活匹配和过滤消息的场景 

6. RPC(RPC通信) 

在PRC通信中,没有生产者和消费者,通过两个队列实现了一个远程过程调用

  1. 客户端发送请求:将请求消息发送到服务端队列,并附带一个回调队列地址和唯一请求 ID(correlation ID)。
  2. 服务端处理并响应:接收请求、处理逻辑,然后将结果发送到回调队列,同时携带相同的 correlation ID。
  3. 客户端匹配响应:根据 correlation ID 将响应与请求关联,实现 “伪同步” 效果。

 

适用场景:

  • 需要异步解耦但又需即时结果的场景。例如微服务间的轻量级通信。
  • 跨语言服务调用(RabbitMQ 支持多语言客户端)。

7. Publisher Confirms(发布确认)

Publisher Confirms模式是RabbitMQ提供的一种确保消息可靠发送到RabbitMQ服务器的机制,在这种模式下,生产者可以等待RabbitMQ服务器的确认,确保消息已经被服务器接收并处理。在默认模式下,生产者发送消息后不会收到任何反馈,若网络故障或交换机异常,消息可能丢失。而发布确认机制可以解决这一问题:

  1. 生产者发送消息:生产者将Channel设置为confirm模式后,发送消息会附带唯一的序列号(Sequence Number)。
  2. RabbitMQ 确认:交换机收到消息后,异步返回一个确认帧(Confirm Frame),包含相同的序列号。
  3. 生产者处理确认:根据序列号匹配确认结果,标记消息为 “已确认” 或 “未确认”。

适用场景:对数据安全性要求高的场景,例如金融交易,订单处理 

http://www.dtcms.com/wzjs/404154.html

相关文章:

  • 群晖做自己的电影网站百度站长工具网站
  • 网页制作的公司网站互联网推广渠道
  • 做网站 怎么备案重庆seo网络优化师
  • 赵县网站建设网络培训seo
  • 广州做外贸网站公司今天的新闻大事10条
  • 定制网站建设公司百度推广代理商有哪些
  • 茂名市建设局网站深圳网络络推广培训
  • 黄村网站建设公司模板建站多少钱
  • 建网站价格 建设网站需要多少钱短视频培训
  • 保定哪里做网站友情链接系统
  • 公司网站建设要求书交友网站有哪些
  • 做网站付费流程江西百度推广公司
  • wordpress播放上传视频如何做seo搜索优化
  • 教学网站在线自测功能怎么做网站推广哪家好
  • 商洛做网站的公司电话安卓优化清理大师
  • 美食网站制作模板百度集团总部在哪里
  • 公司建设网站带来什么互动营销案例100
  • wordpress wcps平台seo什么意思
  • wordpress手机边栏seo百度快照优化公司
  • 社团网站建设高级seo招聘
  • 电子商务网站建设规划书范文iis7站长工具
  • 网站谁做的谷歌推广优化
  • 装修公司网站dede模板腾讯企点qq
  • 网站建设卖点厦门seo关键词
  • 网站宣传册怎么做百度seo流量
  • 如何设立网站百度seo优化培训
  • 苏州大学网站建设目标seo刷词
  • 中国建设银行福清分行网站乐陵seo外包
  • 网站虚假备案优化网站的方法有哪些
  • 如何快速学成网站开发百度网络营销中心客服电话