自己做网站需要多少资金,网站框架,青岛seo培训,接设计单的网站1.使用消息队列
几种模式 从最简单的开始 添加完新的虚拟机可以看到#xff0c;当前admin用户的主机访问权限中新增的刚添加的环境 1.1查看交换机 交换机列表中自动新增了刚创建好的虚拟主机相关的预设交换机。一共7个。前面两个 direct类型的交换机#xff0c;一个是…1.使用消息队列
几种模式 从最简单的开始 添加完新的虚拟机可以看到当前admin用户的主机访问权限中新增的刚添加的环境 1.1查看交换机 交换机列表中自动新增了刚创建好的虚拟主机相关的预设交换机。一共7个。前面两个 direct类型的交换机一个是AMQP default还有一个是amq.direct它们都是直连式的交换机。 先看第一个交换机 第一个交换机是所有虚拟主机都会自带的一个默认交换机并且此交换机不可删除此交换机默认绑定到所有的消息队列如果是通过默认交换机发送消息那么会根据消息的 routingkey相当于网络中的ip (之后我们发消息都会指定)决定发送给哪个同名的消息队列同时也不能显示地将消息队列绑定或解绑到此交换机。 我们可以看到详细信息中当前交换机特性是持久化druable:true的也就是说就算机器重启那么此交换机也会保留如果不是持久化那么旦重启就会消失。实际上我们在列表中看到 D 的字样就表示此交换机是持久化的包含一会我们要讲解的消息队列列表也是这样所有自动生成的交换机都是持久化的。 然后查看第二个交换机这个交换机是一个普通的直连交换机 这个交换机和我们刚刚介绍的默认交换机类型一致并且也是持久化的但是我们可以看到它是具有绑定关系的如果没有指定的消息队列绑定到此交换机上那么这个交换机无法正常将信息存放到指定的消息队列中也是根据 routingkey 寻找消息队列(但是可以自定义) 1.2 查看消息队列
1.2.1 创建队列
可以看到下方图中没有任何的消息队列可以尝试在下方添加一个新的消息队列 第一行选择刚刚创建好的虚拟主机在这个虚拟主机下创建此消息队列接着我们将其类型定义为 CLassic 类型也就是经典类型(其他类型我们会在后面逐步介绍)名称随便起一个然后持久化我们选择 Transient 暂时的(当然也可以持久化看你自己)自动删除我们选择 No需要至少有一个消费者连接到这个队列之后一旦所有与这个队列连接的消费者都断开时就会自动删除此队列)最下面的参数我们暂时不进行任何设置 (之后会用到) 创建好的队列 点击队列名称可查看详细信息详细信息包括队列的当前负载状态、属性、消息队列占用的内存、消息数量等。
1.2.2 创建的队列绑定交换机
然后将当前消息队列绑定到上边的第二个直连交换机这样就可以通过此交换机向此消息队列发送信息了 即给第二个交换机(amp.direct)发送消息由它将消息给到yyds队列中 绑定之后
1.2.3 模拟发送消息 再次点击yyds名称发现队列多了一条数据
1.2.4 在消息队列这边直接获取队列的消息
找到下方的get message选项 可以看到三个选项首先是Ack Mode这个是应答模式选择共有四个选项 Nack message requeue true: 拒绝消息也就是说不会将消息从消息队列取出并且重新排队一次可以拒绝多个消息。 Ack message requeue false: 确认应答确认后消息会从消息队列中移除一次可以确认多个消息。 Reject message requeue true/false: 也是拒绝此消息但是可以指定是否重新排队。 可以查看取出的消息 此时消息队列还有一条消息 尝试使用第二个选项然后点击get message 发现队列没有消息了 1.2.5 再去第一个默认交换机尝试发送消息 routing key 改为yyds进行发布 发布成功 进入消息队列查看消息 因此第一个交换机和第二个交互机发布消息时的区别第一个交换机是根据队列的名称判断的第二个交换机是根据队列指定的routing key判断的 点击名称进入详情查看routing key 1.2.6 删除或情况队列
点击队列名称进行详情