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