MQ
sheungxin
这个作者很懒,什么都没留下…
展开
-
RabbitMQ的安装
[size=medium][b]1、RabbitMQ安装[/b]官网下载地址:[url]http://www.rabbitmq.com/download.html[/url][quote]RabbitMq、ActiveMq、ZeroMq、kafka之间的比较,资料汇总:[url]http://blog.csdn.net/linsongbin1/article/details/477...原创 2016-11-30 16:02:25 · 93 阅读 · 0 评论 -
RabbitMQ使用场景练习:Validated User ID、Length Limit(十二 )
[list][*][b]Validated User ID[/b][/list]发送消息时指定userid,只有是当前conn的用户名才可以发送出去消息(测试发现非当前conn用户名,队列没有也没有创建,可能因为是在同一个channel)。用于消费者consumer需要知道消息是从哪个用户发过来的情况package com.demo.mq.rabbitmq.example12;imp...原创 2016-12-16 15:14:41 · 215 阅读 · 1 评论 -
RabbitMQ使用场景练习:消息确认机制(十一)
[list][*][b]消息确认机制[/b][/list]RabbitMQ提供了transaction、confirm两种消息确认机制。transaction即事务机制,手动提交和回滚;confirm机制提供了Confirmlistener和waitForConfirms两种方式。confirm机制效率明显会高于transaction机制,但后者的优势在于强一致性。如果没有特别的要求,建议使用...原创 2016-12-16 12:08:36 · 311 阅读 · 0 评论 -
RabbitMQ使用场景练习:优先级队列(十)
[list][*][b]优先级队列[/b][/list][color=red]只有当消费者不足,不能及时进行消费的情况下,优先级队列才会生效[/color]RabbitMQ3.5以后已经集成了rabbitmq_priority_queue[quote][url]http://www.rabbitmq.com/community-plugins.html[/url][/quote]验证方式:...原创 2016-12-14 16:05:46 · 403 阅读 · 0 评论 -
RabbitMQ使用场景练习:监听器Listener(九)
[list][*][b]监听器[/b][/list] RabbitMQ中监听器有ReturnListener、ConfirmListener、ShutdownListener,本练习中使用ReturnListener,在发布消息时设置mandatory等于true,监听消息是否有相匹配的队列,没有时ReturnListener将执行handleReturn方法,消息将返给发送者 ...2016-12-13 21:23:37 · 470 阅读 · 0 评论 -
RabbitMQ使用场景练习:延迟队列(八)
[list][*][b]延时队列[/b][/list] 在实际业务场景中可能会用到延时消息发送,例如支付场景,准时支付、超过未支付将执行不同的方案,其中超时未支付可以看做一个延时消息。 RabbitMQ本身不具有延时消息队列的功能,但是可以通过TTL(Time To Live)、DLX(Dead Letter Exchanges)特性实现。其原理给消息设置过期时间,在消息队...2016-12-13 17:42:21 · 244 阅读 · 0 评论 -
RabbitMQ使用总结:持久化
[list][*][b]持久化[/b][/list] RabbitMQ的持久化是为了实现服务从异常状态恢复后恢复之前的状态。RabbitMQ发送消息涉及交换器(exchange)、队列(queue)、消息,因而持久化包括交换器的持久化、队列的持久化、消息文本的持久化。获取消息是从队列中获取的、交换器进行的转发,所以为了确保消息的最终持久化,一般交换器、队列、消息都要进行持久化。...原创 2016-12-13 10:29:53 · 324 阅读 · 0 评论 -
RabbitMQ使用场景练习:RPC(七)
[list][*][b]RPC,同步消息[/b][/list] RabbitMQ默认的consumer为异步监听,RPC应用需要实现consumer的同步,可以使用QueueingConsumer(继承与DefaultConsumer,定义了一个堵塞队列LinkedBlockingQueue)实现同步 实际上就是服务端、客户端各定义一个消息队列,相互发送消息,客户端发送消息...2016-12-08 17:51:02 · 262 阅读 · 1 评论 -
RabbitMQ使用场景练习:Headers(六)
[list][*][b]Headers转发器[/b][/list] 消息发送时可以在header中定义一些键值对,接收消息队列与headers转发器绑定时可以指定键值对,all、any两种方式(队列绑定转发器时指定的键值对与headers中存储的键值对匹配),匹配上即可接收到消息[list][*][b]注意要点[/b][/list][i]headers转发器[/i]...2016-12-08 15:28:06 · 178 阅读 · 0 评论 -
RabbitMQ使用场景练习:主题Topic(五)
[list][*][b]主题转发器(Topic)[/b][/list]Topic转发器的功效包含fanout、direct类型的转发器,其特殊的地方在于转发器与队列的绑定时routingkey可以使用通配符*、#,使用*就相当于fanout,不使用通配符就相当于direct,否则就是模糊匹配,匹配上的队列都可以收到消息[list][*][b]注意要点[/b][/list][i]topic...原创 2016-12-06 17:26:18 · 285 阅读 · 0 评论 -
RabbitMQ使用场景练习:路由选择Routing(四)
[list][*][b]路由选择(Routing)[/b][/list] Routing即按照某条路线把消息发送出去,所有这条路线上的队列都将接收到消息。 使用direct转发器,在转发器上使用同一routingkey绑定多个队列,根据routingkey发送消息,所有绑定的队列都将收到消息[list][*][b]注意要点[/b][/list][i]di...原创 2016-12-06 17:02:00 · 95 阅读 · 0 评论 -
RabbitMQ使用场景练习:发布/订阅(三)
[list][*][b]发布/订阅[/b][/list] 即实现单点发送消息,多点接收。使用fanout转发器,广播到所有它知道的队列上[list][*][b]注意要点[/b][/list][i][b]fanout转发器中不需要routingKey,指定也无效[/b][/i][i]创建fanout转发器[/i]:[code="java"]channel.ex...原创 2016-12-05 17:30:14 · 161 阅读 · 0 评论 -
RabbitMQ使用场景练习:工作队列(二)
[list][*][b]工作队列[/b][/list] 工作队列的好处在于多个工作线程共享执行任务队列,使用round-robin的方式分发任务(简单的理解:依次把任务分配给工作进程,一次性分配1..n个任务,平均分配)。[list][*][b]注意要点[/b][/list][i]工作线程的产生,在同一队列上声明多个Consumer[/i]:[code="java"...原创 2016-12-05 17:11:26 · 93 阅读 · 0 评论 -
RabbitMQ使用场景练习:入门实例(一)
[list][*][b]注意要点[/b][/list][i]同一队列多次创建[/i]:[code="java"]//此处声明队列为了防止接收者先运行,队列还不存在时创建队列(同一队列只会创建一次)channel.queueDeclare(queue, false, false, false, null);[/code][list][*][b]消息发送类[/b][/lis...原创 2016-12-05 16:20:42 · 365 阅读 · 0 评论 -
RabbitMQ的管理与监控
[size=medium][list][*][b]开启management plugin功能[/b][/list]1、management plugin默认安装未开启,需要执行以下命令: $ cd /usr/lib/rabbitmq/bin/ $ sudo rabbitmq-plugins enable rabbitmq_management2、management p...原创 2016-11-30 17:08:47 · 223 阅读 · 0 评论 -
RabbitMQ使用场景练习:STOMP plugin
[list][*][b]STOMP plugin[/b][/list] Stomp是一个简单的消息文本协议(不重点介绍,没仔细研究过)。RabbitMQ中STOMP plugin的集成,实现了由浏览器通过WebSocket协议访问消息队列,SockJS作为后备(旧版的浏览器不支持WebSocket协议)[code="启用STOMP plugin命令"]rabbitmq-plug...原创 2016-12-22 10:32:59 · 604 阅读 · 0 评论