欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

rabbitmq笔记

程序员文章站 2022-07-15 08:13:12
...

安装请点 安装参考

rabbitmq笔记

rabbitmq笔记

rabbitmq笔记

rabbitmq笔记

rabbitmqctl set_permissions -p v_host user “.” “.” “.*”

rabbitmqctl list_vhosts

rabbitmqctl list_queues

rabbitmq笔记

注意:执行完命令后没有 …….down 也是正确的,别问我咋知道,反正一切正常,我也不知道为什么

备忘:我自己设置的用户名是root,密码是root

管理工具内容介绍

rabbitmq与java程序交互的端口是 5672

rabbitmq笔记

各种队列模式

依赖包

<dependency>
            <groupId>com.rabbitmq</groupId>
            <artifactId>amqp-client</artifactId>
            <version>3.4.1</version>
        </dependency>
<dependency>
            <groupId>com.rabbitmq</groupId>
            <artifactId>amqp-client</artifactId>
            <version>3.4.1</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.7</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.3.2</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.amqp</groupId>
            <artifactId>spring-rabbit</artifactId>
            <version>1.4.0.RELEASE</version>
        </dependency>

1 简单队列

rabbitmq笔记

2 work模式

a 平均分配
b 能者多劳:应用场景,如果向数据库写数据压力过大,要搞集群,好多台机子做的都是相同的事情,但又不能重复写入数据,就可以用work模式的能者多劳

// 同一时刻服务器只会发一条消息给消费者,平均分配和能者多劳代码区别
    channel.basicQos(1); 

rabbitmq笔记

确认模式机制

rabbitmq笔记

// 监听队列,手动返回完成中间的值是false,自动确认中间的值是true
        channel.basicConsume(QUEUE_NAME, false, consumer);
// 返回确认状态
            channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false);

rabbitmq笔记

3 订阅模式

商品数据同步
一个生产者生产的数据同时被多个消费者获得

rabbitmq笔记

rabbitmq笔记

rabbitmq笔记

  注意:如果将消息发送到一个没有队列绑定的交换机,消息将丢失
  因为交换机没有存储消息的能力,消息只能存到队列

4 路由模式

rabbitmq笔记

rabbitmq笔记

rabbitmq笔记

5 通配符模式

rabbitmq笔记

rabbitmq笔记

rabbitmq笔记