RabbitMQ消息队列
RabbitMQ消息队列
心念W
这个作者很懒,什么都没留下…
展开
-
Spring+directRabbitmq
文章目录directRabbitmq1、通过spring实现direct(直连)2、发送消息3、监听队列参考文章链接directRabbitmq1、通过spring实现direct(直连)配置文件,创建队列和交换机以及配置路由@Configurationpublic class DirectRabbitConfig { //队列 起名:TestDirectQueue @Bean("testDirectQueue1") public Queue testDirectQue原创 2020-06-02 15:45:42 · 335 阅读 · 0 评论 -
rabbitmq的事务机制
文章目录rabbitmq的事务机制1、概述2、事务机制1、生产者2、消费者3、Confirm模式1、概述2、producer端confirm模式的实现原理3、开启confirm模式的方法4、编程模式rabbitmq的事务机制参考地址1、概述在使用RabbitMQ的时候,我们可以通过消息持久化操作来解决因为服务器的异常奔溃导致的消息丢失,除此之外我们还会遇到一个问题,当消息的发布者在将消息发送出去之后,消息到底有没有正确到达broker代理服务器呢?如果不进行特殊配置的话,默认情况下发布操作是不会返回原创 2020-06-01 15:26:34 · 2375 阅读 · 0 评论 -
消息队列之Headers交换类型
文章目录消息队列之Headers交换类型1、说明2、生产者3、消费者消息队列之Headers交换类型1、说明Headers类型的exchange使用的比较少,它也是忽略routingKey的一种路由方式。是使用Headers来匹配的。Headers是一个键值对,可以定义成Hashtable。发送者在发送的时候定义一些键值对,接收者也可以再绑定时候传入一些键值对,两者匹配的话,则对应的队列就可以收到消息。匹配有两种方式all和any。这两种方式是在接收端必须要用键值"x-mactch"来定义。all代表原创 2020-06-01 00:00:22 · 411 阅读 · 0 评论 -
消息队列之主题模式(exchange:topic)
文章目录消息队列之主题模式1、主题模式(exchange:topic)2、生产者代码3、消费者代码消息队列之主题模式1、主题模式(exchange:topic)主题模式与路由模式几乎一样,只是主题模式使用了类似正则的方法定义路由例如:队列1路由:good.add/good.update队列2路由:good.#队列1只能收到good.add和good.update,而队列2将能收到所有的good.*2、生产者代码public class TopicSend { private s原创 2020-05-31 23:03:25 · 1071 阅读 · 0 评论 -
消息队列之路由模式(exchange:direct)
文章目录消息队列之路由模式(exchange)1、路由模式(direct)1、概念2、生产者3、消费者消息队列之路由模式(exchange)1、路由模式(direct)1、概念前面使用了订阅模式,那种模式会将消息发送给所有人但是如果有时候我们不想将消息发送给所有人呢这时候就需要使用到路由模式所有的队列绑定一个交换机,并且设置一个或多个路由发送的消息设置好路由发送给交换机交换机根据绑定的队列且设置了所携带的路由参数将消息发送给符合的队列前面我们都是没使用exchange的,但是路由参数我原创 2020-05-31 22:32:04 · 665 阅读 · 0 评论 -
消息队列之订阅模式
文章目录消息队列之订阅模式1、订阅模式2、交换机(exchange)的fanout3、生产者4、消费者消息队列之订阅模式1、订阅模式前面我们学到了简单、轮询、公平分发等在上面这几种模式下,我们的消息无法重复消费信息为了重复消费信息我们使用了交换机(exchange)的fanout模式2、交换机(exchange)的fanout为了使我们可以重复的使用消息,我们就要用到交换机的fanout模式(发布订阅)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HONB原创 2020-05-31 20:10:15 · 1538 阅读 · 0 评论 -
rabbitmq的队列和消息持久化
文章目录rabbitmq的持久化1、rabbitmq队列开启持久化2、队列消息持久化rabbitmq的持久化1、rabbitmq队列开启持久化1. 需要在声明时开启durable(持久的) //声明队列 boolean durable = true;//是否开启持久化 channel.queueDeclare(QUEUE_NAME,durable,false,false,null);2. 测试未开启持久化重启rabbitmq我们发现所有的队列都没原创 2020-05-31 16:57:57 · 2133 阅读 · 0 评论 -
消息队列之公平分发
文章目录消息队列之公平分发1、发送者接收者消息队列之公平分发使用公平分发我们得设置:channel.basicQos(1)指该消费者在接收到队列里的消息但没有返回确认结果之前队列不会将新的消息分发给该消费者。队列中没有被消费的消息不会被删除,还是存在于队列中且要关闭自动答复boolean autoACK = falsechannel.basicConsume(QUEUE_NAME,autoACK,consumer);basicQos和autoACK是结合使用的,如果有两个设置了一次只获取一个原创 2020-05-30 23:02:16 · 395 阅读 · 0 评论 -
消息队列之轮询分发
文章目录消息队列之轮询分发1、什么是轮询2、轮询代码消息队列之轮询分发1、什么是轮询一个生产者对应多个消费者,生产者发送多次消息,是采用轮询的机制,公平的分给每一个消费者。2、轮询代码//发送消息public class Send { private static final String QUEUE_NAME= "test_work_queue"; public static void main(String[] args) throws IOException, Timeo原创 2020-05-30 10:45:09 · 1666 阅读 · 0 评论 -
消息队列之简单队列
文章目录简单队列1、简单队列的使用简单队列1、简单队列的使用pom添加依赖 <!--添加rabbitmq依赖--> <!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client --> <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-clie原创 2020-05-29 16:20:41 · 167 阅读 · 0 评论 -
rabbitmq使用
文章目录rabbitMQ1、添加用户2、设置virtual host1、添加virtual host2、设置权限1、点击刚刚添加的virtual host,上方的是my_virtual2、配置用户权限,选择配置的用户rabbitMQ1、添加用户访问 http://宿主IP:15672注意:docker安装时的–hostname是rabbitmq的名字登录默认用户名和密码(未设置的情况)guest2、设置virtual host1、添加virtual host2、设置权限1、点击刚刚添加原创 2020-05-29 16:19:45 · 409 阅读 · 0 评论