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

如何做酒网站长沙seo研究中心

如何做酒网站,长沙seo研究中心,无锡做网站哪家好,阳谷聊城做网站一、快速入门 RabbitMQ被广泛应用于分布式系统中,以实现不同组件或服务之间的异步通信。 MQ消息队列,先进先出,也就是异步调用中的Broker。 1.1同步调用的优势是什么? 时效性强,等待到结果后才返回。 同步调用的问…

一、快速入门

RabbitMQ被广泛应用于分布式系统中,以实现不同组件或服务之间的异步通信。

MQ消息队列,先进先出,也就是异步调用中的Broker。

1.1同步调用的优势是什么?

  • 时效性强,等待到结果后才返回。

同步调用的问题是什么?

  • 拓展性差
  • 性能下降
  • 级联失败问题

1.2异步调用优势?

  • 接触耦合,扩展性强
  • 无需等待,性能好
  • 故障隔离
  • 缓存消息,流量削峰填谷

异步调用的问题是什么?

  • 不能立即得到调用结果,时效性差
  • 不确定下游业务执行是否成功
  • 业务安全依赖于Broker(代理)的可靠性

1.3RabbitMQ的整体框架及核心概念

  • publisher:消息发送者
  • consumer:消息的消费者
  • queue:队列,存储消息
  • exchange:交换机,负责路由消息
  • virtual-hose:虚拟主机,起到数据隔离的作用

在这里插入图片描述

1.4java客户端-快速入门

SpringAMQP如何收发消息?

① 引入spring-boot-starter-amqp依赖

② 配置rabbitmq服务端信息

③ 利用RabbitTemplate发送消息

④ 利用@RabbitListener注解声明要监听的队列,监听消息

二、WorkQueue

Work queue,任务模型,简单来说就是让多个消费者绑定到一个队列,共同消费队列中的消息。

work模型的使用

  • 多个消费者绑定到一个队列,可以加快消息处理速度
  • 同一条消息只会被一个消费者处理
  • 通过设置prefetch来控制消费者预取的消息数量,处理完一条再处理下一条,实现能者多劳

三、Fanout交换机

真正生产环境都会经过exchange来发送消息,而不是直接发送到队列,交换机的类型有以下三种:

  • Fanout:广播
  • Direct:定向
  • Topic:话题

在这里插入图片描述

3.1Fanout Exchange 会将接收到的消息广播到每一个跟其绑定的uqeue,所以也叫广播模式。

交换机的作用是什么?

  • 接收publisher发送的消息
  • 将消息按照规则路由到与之绑定的队列
  • FanoutExchange的会将消息路由到每个绑定的队列

四、Direct交换机

Direct Exchange 会将接收到的消息根据规则路由到指定的Queue,因此称为定向路由。

  • 每一个Queue都与Exchange设置一个BindingKey
  • 发布者发送消息时,指定消息的RoutingKey
  • Exchange将消息路由到BindingKey与消息RoutingKey一致的队列

在这里插入图片描述

五、Topic交换机

TopicExchange与DirectExchange类似,区别在于routingKey可以是多个单词的列表,并且以.分割。

Queue与Exchange指定BindingKey时可以使用通配符:

  • #: 代指0个或多个单词
  • *: 代指一个单词

在这里插入图片描述

描述下Direct交换机与Topic交换机的差异?

  • Topic交换机接收的消息RoutingKey可以是多个单词,以.分割
  • Topic交换机与队列绑定时的bindingKey可以指定通配符
  • #: 代表0个或多个词
  • *: 代表1个词

六、声明队列交换机

SpringAMQP提供了几个类,用来声明队列、交换机及其绑定关系:

  • Queue:用于声明队列,可以用工厂类QueueBuilder构建
  • Exchange:用于声明交换机,可以用工厂类ExchangeBuilder构建
  • Binding:用于声明队列和交换机的绑定关系,可以用工厂类BindingBuilder构建

声明队列、交换机、绑定关系的Bean是什么?

  • Queue
  • FanoutExchange、DirectExchange、TopicExchange
  • Binding

基于@RabbitListener注解声明队列和交换机有哪些常见注解?

  • @Queue
  • @Exchange

七、消息转换器

建议采用JSON序列化代替默认的JDK序列化,要做两件事情:

在publisher和consumer中都要引入jackson依赖:

  <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId></dependency>

在publisher和consumer中都要配置MessageConverter:

@Beanpublic MessageConverter messageConverter(){return new Jackson2JsonMessageConverter();}

通过以上总结,可快速掌握 RabbitMQ 的核心概念、使用场景及 SpringAMQP 的集成方法,为构建高可靠、高性能的异步通信系统提供基础支持。

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

相关文章:

  • 上海网站备案上海疫情突然消失的原因
  • 济南做网站创意google引擎免费入口
  • 体育新闻最新消息10条河南郑州网站推广优化外包
  • 东莞网站建设seo优化微信怎么推广
  • 网站开发怎么做sem与seo的区别
  • 如何做vip视频网站seo分析师
  • 一起做财经网站在线培训系统
  • 网站建设策划书最佳的资源磁力搜索引擎
  • 网站健设推广产品多少钱网站怎么做的
  • 做网站用什么编程国际实时新闻
  • 网站建设规划设计网络营销和网络推广
  • 个人网站怎么做内容比较好百度学术官网
  • 兼职做猎头的网站自己如何建立网站
  • 网站建设政策百度视频排名优化
  • 临沂网站制作培训百度云盘登录入口
  • 怎么申请小程序seo优化工作
  • 如何用花生壳做网站专业seo公司
  • 飞凡网站建设西地那非片说明书
  • 工商注册网站设计公司排名
  • 东莞网站关键词优化公司aso优化公司
  • 教育网站的开发与建设论文360推广登录入口
  • 设计图片logo免费搜索引擎外部链接优化
  • 建设博客网站步骤seo在线优化工具 si
  • 深圳全网营销网站建设网络广告策划的步骤
  • 上海网站制作公司的排名关键词优化资讯
  • 福州建网站,做网页网络营销的优缺点
  • 织梦模板网站好吗最好用的磁力搜索神器
  • 做谱的网站什么平台引流最快
  • 珠海市斗门建设局网站sem竞价托管费用
  • 宿迁做网站多少钱写手接单平台