千锋教育-做有情怀、有良心、有品质的职业教育机构

当前位置:首页  >  关于学院  >  技术干货  >  Java技术干货  >  正文

RabbitMQ中的交换机类型有哪些?

来源:千锋教育
作者:qyf
关键词: 杭州java java
2022-09-21
分享

RabbitMQ中的交换机类型有哪些

  Exchange 类型

  Exchange 分发消息时根据类型的不同分发策略有区别,目前共四种类型:direct、fanout、topic、headers 。headers 匹配 AMQP 消息的 header 而不是路由键,此外 headers 交换器和 direct 交换器完全一致,但性能差很多,目前几乎用不到了,所以直接看另外三种类型:

  1. Direct键(routing key)分布

  Direct:消息中的路由键(routing key)如果和 Binding 中的 binding key 一致,交换器就将消息发到对应的队列中。它是完全匹配、单播的模式。

  2. Fanout(广播分发)

  Fanout:每个发到 fanout 类型交换器的消息都会分到所有绑定的队列上去。很像子网广播,每台子网内的主机都获得了一份复制的消息。fanout 类型转发消息是最快的。

  3. topic交换器(模式匹配)

  topic 交换器:topic 交换器通过模式匹配分配消息的路由键属性,将路由键和某个模式进行匹配,此时队列需要绑定到一个模式上。它将路由键和绑定键的字符串切分成单词,这些单词之间用点隔开。它同样也会识别两个通配符:符号“#”和符号“”。#匹配 0 个或多个单词,匹配不多不少一个单词。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

相关推荐

  • char和varchar的区别是什么? 如果有两个事务,运行在相同的时间内,执行相同的功能,事务的隔离性确保每一个事务在系统中认为只有自己在使用系统。这种属性称为串行化,为了防止事务操作间的混淆,必须串行化或序列化请求,使得在同一时间仅有一个请求用于同一数据。持久性   一个成功的事务将永久的改变系统的状态。
  • 如何获取当前数据库版本? //MySQL //命令行 mysql -v //查询函数 select version();//Oracle select * from v$version;
  • 除了ReetrantLock,你还接触过JUC并发包中的哪些并发API? Exchanger:用来使两个线程交换数据;总数就是控制并发的数量;Future:接口,FutureTask是它的实现类,配合线程池来一起工作,将任务交给线程池去处理。
  • RabbitMQ中的交换机类型有哪些? Exchange 分发消息时根据类型的不同分发策略有区别,目前共四种类型:direct、fanout、topic、headers 。headers 匹配 AMQP 消息的 header 而不是路由键,此外 headers 交换器和 direct 交换器完全一致,但性能差很多,目前几乎用不到了,所以直接看另外三种类型:
  • 插入排序算法你熟悉吗? 为了找到这张牌的正确位置,要将它与手中已有的牌从右到左地进行比较。如果输入数组已经是排好序的话,插入排序出现最佳情况,其运行时间是输入规模的一个线性函数。如果输入数组是逆序排列的,将出现最坏情况。平均情况与最坏情况一样,其时间代价是(n2)。
  • 冒泡排序算法你熟悉吗? 比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。这样对数组的第 0 个数据到 N-1 个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1 个位置。N=N-1,如果 N 不为 0 就重复前面二步,否则排序完成。