package mainimport ("context""fmt""github.com/streadway/amqp""learning_tools/rabbitmq/mq""time"
)/**
在这里我会建立二个消费者和一个生产者
*/
func main() {ctx, cancel := context.WithCancel(context.Background())//生产者go Sample(ctx)//消费者go mq.SampleConsumption(ctx, "q1", "c1")go mq.SampleConsumption(ctx, "q2", "c2")time.Sleep(2 * time.Second)cancel()
}func Sample(ctx context.Context) {// 创建连接connection := mq.Connection()defer connection.Close()// 开启 channelchannel, err := connection.Channel()if err != nil {panic(err)}defer channel.Close()//创建一个交换器if err = channel.ExchangeDeclare("e3",amqp.ExchangeTopic,true,false,false,true,nil); err != nil {panic(err)}//创建一个队列 q1if _, err := channel.QueueDeclare("q1",true,false,false,true,nil); err != nil {panic(err)}//创建一个队列 q2if _, err := channel.QueueDeclare("q2",true,false,false,true,nil); err != nil {panic(err)}//交换机和队列绑定//这里key以.隔开,#代表任意一个字符串或者没有,*代表任意一个字符串//vvv.orange.rabbit.oo 只能匹配到q2队列里面if err = channel.QueueBind("q1", "*.orange.*", "e3", true, nil); err != nil {panic(err)}if err = channel.QueueBind("q2", "*.*.rabbit.#.#", "e3", true, nil); err != nil {panic(err)}// Publish 生产一条消息 这里生产者和队列没有关系,这是吧消息放在交换器里面,由交换器觉得给那个队列for i := 0; i < 5; i++ {//time.Sleep(time.Second / 4)if err = channel.Publish("e3","vvv.orange.rabbit.oo",false,false,amqp.Publishing{Timestamp: time.Now(),DeliveryMode: amqp.Persistent,ContentType: "text/plain",Body: []byte(fmt.Sprintf("%d:,Hello Rabbit MQ!", i)),}); err != nil {panic(err)}}
}
详细解决方案
Rabbit MQ 使用(五)
热度:25 发布时间:2024-02-22 10:31:24.0
相关解决方案
- spring boot rabbit mq 监听并且创建队列
- HDU 4777 Rabbit Kingdom (树状数组+离线+思维)*
- 线段树扫描线专题复习 矩形面积并 矩形面积交 HDU1542Atlantis HDU1255 覆盖的面积 2021牛客第六场H-Hopping Rabbit
- 几何 Crazy Rabbit
- Windows下安装RabbitMQ报错Error: unable to connect to node rabbit@xxx: nodedown的解决方式
- Rabbit health check failed
- Rabbit MQ和Kafka
- Rabbit Mq的简单使用
- RabbitMQ报错 Error: unable to connect to node rabbit@localhost: nodedown
- 2021牛客暑期多校训练营6 H.Hopping Rabbit(扫描线)
- 【原创】集群搭建报“Error unable to connect to nodes ['rabbit@rmq-n1']:nodedown Segmentation fault” 错的解决
- Learn rabbit
- 创建rabbitmq用户报错Error: unable to connect to node rabbit@localhost: nodedown
- poj 2606 Rabbit hunt【同一条直线上的点】
- rabbit mq实际操作遇到的错误
- 室友面上阿里,把这些笔记扔给了我:Roket/Rabbit/Kafka,狠虐菜鸡
- hdu 6828-Little Rabbit‘s Equation
- 2020杭电多校第六场—【1002 Little Rabbit‘s Equation】
- Rabbit MQ
- Rabbit MQ 使用(五)
- Rabbit MQ 笔记整理(含 RPC 模型、整合 SpringBoot 2.x 实战、集群)
- CentOS7环境下RabbitMQ管理插件rabbitmq_management启动报错{:query, :rabbit@rabbit1, {:badrpc, :timeout}}