
RabbitMQ
ok包
https://github.com/liwe17/BigData-Note
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
1. 简单队列
简单队列耦合性高,生产者一一对应消费者(不允许多个消费队列中的消息).项目搭建新建maven项目添加依赖 <dependencies> <dependency> <groupId>com.rabbitmq</groupId> <artifactId&a原创 2019-01-10 14:12:38 · 162 阅读 · 0 评论 -
0.RabbitMq消息队列
rabbitmq环境搭建下载Elang语言环境包以及rabbitmq环境包.安装语言环境包,rabbitmq环境包,并在rabbit命令窗口执行-rabbitmq-plugins enable rabbitmq_management打开http://localhost:15672 默认用户名/密码:guest相关概念解释rabbitmq概念Queue:队列是RabbitMQ的内部...原创 2019-01-10 14:20:35 · 158 阅读 · 0 评论 -
2.工作队列
work queues为什么会出现工作队列?Simple队列是一一对应的,而且我们实际开发,生产者发送消息是毫无费力的,而消费者一般是要跟业务相结合的,消费者接收到消息之后就需要处理,可能需要花费时间,这时候队列就会挤压了很多消息.1.轮询分发 消费者1和消费者2处理的消息是一样多的.消费者1:偶数,消费者2:奇数这种方式叫做轮询分发(round-robin),任务总是均分....原创 2019-01-10 14:20:43 · 128 阅读 · 0 评论 -
3.消息应答与消息分发
消息应答boolean autoAck=false;channel.basicConsume(QUEUE_NAME,autoAck,consumer);boolean autoAck=true;//自动确认模式,一旦rabbitmq将消息分发给消费者,就会从内存中删除,这种情况下,如果杀死了正在执行的消费者,就会丢失正在处理的消息.boolean autoAck=false;/...原创 2019-01-10 14:20:48 · 162 阅读 · 0 评论 -
4.订阅模式
publish_subcribe订阅模式解读:一个生产者,多个消费者.每一个消费者都有自己的队列.生产者没有直接把消息发送到队列,而是发送到了交换机,转发器exchange.每个队列都要绑定到交换机上.生产者发送的消息,经过交换机,到达队列,就能实现一个消息被多个消费者消费.注册—>邮件注册—>短信环境搭建package com.mmr.rabbit.ps;...原创 2019-01-10 14:20:54 · 167 阅读 · 0 评论 -
5.Exchange(交换机 转发器)
对比一方面是接收生产者的消息,另一方面是向队列推送消息.//匿名转发:""//fanout(不处理路由键)//声明交换机channel.exchangeDeclare(EXCHANGE_NAME,"fanout");//分发//发送消息String msg="hello ps";channel.basicPublish(EXCHANGE_NAME,"&原创 2019-01-10 14:21:00 · 237 阅读 · 0 评论 -
6.主题模式
Topic主题模式将路由键和某模式匹配#匹配一个或者多个*匹配一个Goods.#商品:发布,删除,修改,查询package com.mmr.rabbit.topic;import com.mmr.rabbit.util.ConnectionUtils;import com.rabbitmq.client.Channel;import com.rabbitmq.client...原创 2019-01-10 14:21:05 · 357 阅读 · 0 评论 -
7.rabbitmq的消息确认机制
消息确认机制在rabbitmq中,我们可以通过持久化数据,解决rabbitmq服务器异常的数据丢失问题.问题:生产者将消息发送出去之后,消息到底有没有到底rabbitmq服务器,默认情况下是不知道的两种方式:AMQP实现事务机制.Confirm模式.事务机制txSelect:用于将当前channel设置成transation模式txCommit:用与提交事务txRollbac...原创 2019-01-10 14:21:09 · 188 阅读 · 0 评论