rabbitmq——交换机fanout和direct
交换机:
生产者将消息发送到交换机上,根据交换机不同的种类,将消息体按照不同的规则转发给不同的消费者。
fanout
此模式是将生产者生产的消息,通过交换机绑定的所有队列,发送到所有绑定到此交换机上的队列。
product.go
err = c.ExchangeDeclare("j" , amqp.ExchangeFanout , false, false , false , false , nil)fmt.Println(err)qu , err := c.QueueDeclare("hello-test" , false , false , false , false , nil)fmt.Println(err)err = c.QueueBind(qu.Name , "" , "j" , false ,nil)fmt.Println(err)msg , err := c.Consume(qu.Name ,"" , false , false , false , false , nil)fmt.Println(err)for d := range msg {fmt.Println(string(d.Body))d.Ack(false)}
fanout模式是将接收到的消息转发给绑定此交换机的所有队列。
direct
direct模式将生产者的消息通过key转发给不同的队列。
product.go
err = c.ExchangeDeclare("jht" , amqp.ExchangeDirect, false , false ,false , false , nil)fmt.Print(err)_ = c.Publish("jht" , "ok", false , false , amqp.Publishing{Body: []byte("test hello"),})
consumer.go
err = c.ExchangeDeclare("jht" , amqp.ExchangeDirect, false, false , false , false , nil)fmt.Println(err)qu , err := c.QueueDeclare("" , false , false , false , false , nil)fmt.Println(err)err = c.QueueBind(qu.Name , "ok" , "jht" , false ,nil)fmt.Println(err)msg , err := c.Consume(qu.Name ,"" , false , false , false , false , nil)fmt.Println(err)for d := range msg {fmt.Println(string(d.Body))d.Ack(false)}
rabbitmq——交换机fanout和direct相关推荐
- RabbitMQ交换机(Fanout、Direct、Topic)三种模式详解
一. 交换机 1.1 Exchanges 1.1.1 Exchanges概念 RabbitMQ 消息传递模型的核心思想是: 生产者生产的消息从不会直接发送到队列.实际上,通常生产 者甚至都不知道这 ...
- 认识RabbitMQ交换机模型
认识RabbitMQ交换机模型 原文:认识RabbitMQ交换机模型 前言 RabbitMQ是消息队列中间件(Message Queue Middleware)中一种,工作虽然有用到,但是却没有形成很 ...
- SpringAMQP-Basic Queue、Work Queue、Fanout、Direct、Topic
同步通讯.异步通讯.RabbitMQ的基本了解 https://blog.csdn.net/weixin_51351637/article/details/129501470?spm=1001.201 ...
- Rabbitmq交换机详解
rabbitmq交换机 1.作用: 接受生产者的消息,然后根据路由键routingKey把消息投递到跟交换机绑定的对应的队列上 2.属性 Name: 交换机的名称 Type: 交换机的类型,direc ...
- RabbitMQ交换机类型
RabbitMQ交换机类型 一.Direct Exchange(直连交换机) 二. Fanout Exchange(扇型交换机) 三.Topic Exchange(主题交换机) 四.Headers E ...
- RabbitMQ——交换机
1. 交换机 exchange 不指定交换机直接发送到队列时,多个消费者之间存在的是竞争关系,一个消息只能被一个消费者接收,其他的消费者不能够再次接收:交换机可以绑定多个不同的队列,但是其Routin ...
- RabbitMQ(03)——RabbitMQ的Fanout消息模型
RabbitMQ--RabbitMQ的Fanout消息模型 Fanout消息模型结构 P:生产者,向Exchange发送消息 X: Exchange(交换机),接收生产者的消息 C:消费者,领取消息并 ...
- RabbitMQ中Fanout交换机的使用
交换机的基本原理 案例 由于Fanout类型的交换机原理类似于广播的模式,所以需要先启动消息的消费者以避免消息的丢失. 接受方: 消费者1: public class Reseive {public ...
- RabbitMQ交换机简介
介绍 RabbitMQ消息传递模型的核心思想是:生产者生产的消息从不会直接发送到队列.实际上,通常生产者甚至都不知道这些消息传递传递到了哪些队列中. 相反,生产者只能将消息发送到交换机(exchang ...
最新文章
- JavaScript内置函数及API
- 一图看尽全生态, 2018区块链产业云图重磅发布
- 40岁了,还要跟小年青一样埋头敲代码吗?
- SIG Cloud Provider Alibaba 网研会第 2 期顺利召开 | 云原生生态周报 Vol. 46
- MOSS中对列表的一些操作(创建,查询等)
- Masuit.Tools,一个免费的轮子
- 【CF487E】Tourists【圆方树】【树链剖分】【multiset】
- 逆向知识第七讲,三目运算符在汇编中的表现形式,以及编译器优化方式
- 动易html在线编辑器,动易系统解决IE8网站后台编辑器无效问题
- 【最详细】Wireshark使用教程
- 《大型网站技术架构:核心原理与案例分析》读书笔记
- 初出茅庐的小李第84篇博客之驱动WS2812B灯带(一)
- 使用IPv6下载google drive 大文件
- python定位地理位置_python 实现ip定位地址
- kali 控制安卓手机拍照,查看定位,获取通信录,以及其他
- C语言典型例题四——斐波那契数列
- Android 多渠道打包与开发
- js对象、数字深拷贝方式(转)
- DB_RECOVERY_FILE_DEST,LOG_ARCHIVE_DEST,LOG_ARCHIVE_DEST_N
- uniapp vue 身份证号校验
热门文章
- 法国西南华人华侨商会:进军区块链行业,促进技术创新项目落地
- 室内制图如何让您的办公室受益
- kruskalCase克鲁斯卡尔算法
- 线程1(Thread)
- 获奖公布|@程序员,你读过的书,藏着自己的命运
- vue页面的定时刷新
- 聚观早报 | 货拉拉入局跑腿业务;苹果任命首位首席人力资源官
- 虚幻引擎图文笔记:使用布料模拟(Cloth Simulation)系统制作一面可以随风飘动的旗帜(更新)
- 教你怎么一下哄好赌气的女朋友​
- 【基于Python+tkinter的音乐播放器开发-哔哩哔哩】 https://b23.tv/eG2TwOL