RabbitMQ
坛子成长记
这个作者很懒,什么都没留下…
展开
-
RabbitMQ的入门和安装
1.什么是RabbitMQ RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。RabbitMQ主要是为了实现系统之间的双向解耦而实现的。当生产者大量产生数据时,消费者无法快速消费,那么需要一个中间层。保存这个数据。2.安装方式 下载的地址是:下载原创 2016-12-06 09:53:51 · 279 阅读 · 0 评论 -
RabbitMQ案例七之延时任务
环境要求Github: https://github.com/rabbitmq/rabbitmq-delayed-message-exchange Rabbitmq版本要求: RabbitMQ 3.5.7 and later versions. Erlang版本要求: Erlang/OTP 18.0 and later versions 插件列表: http://www原创 2016-12-08 15:21:21 · 2905 阅读 · 0 评论 -
rabbitMq的集群
http://www.cnblogs.com/flat_peach/archive/2013/04/07/3004008.html原创 2016-12-13 17:17:47 · 381 阅读 · 0 评论 -
RabbitMQ案例七之RPC远程过程调用
目的:到服务器请求数据Client的代码如下:package yy.rabbitstudy.rpc;import com.rabbitmq.client.AMQP.BasicProperties;import com.rabbitmq.client.Channel;import com.rabbitmq.client.QueueingConsumer;impor原创 2016-12-06 18:06:27 · 496 阅读 · 0 评论 -
RabbitMQ案例六之Topic
目的:在上一章节中,routing的功能很多时候不能灵活的使用。为了更加灵活rabbitMQ有一种Exchange是可以用*和#来匹配的。如上图: *表示所有字母数字,但是不包含符号 #表示所有字符。 当routingKey(exchangeKey,上一节那样表达不是很正确)是lazy.orange.elephant时,消息会原创 2016-12-06 17:16:17 · 564 阅读 · 0 评论 -
RabbitMQ案例五之Routing路由功能
目的:producer的消息要分发到指定的消息队列如上图。当前exchange的类型是:direct的。当发送的消息的exchangeKey为error的,两个消息队列都会收到消息。当exchangeKey为info的,则只有下面那么消息队列收到消息。综上所述,RabbitMQ的路由实现是通过exchangeKey来实现的实现代码如下:生产者:EmitLogDirect.j原创 2016-12-06 16:21:32 · 338 阅读 · 0 评论 -
RabbitMQ的功能实现
1.消息通知 因为queue的默认情况下是给消费者轮流分发消息的。当一个消费者挂了之后,还是会向它发送消息,这样的的话,就会造成消息的丢失。为了解决这个问题,RabbitMQ的方案是,设置参数,当消息发送给消费者后,消费者会回应queue。当queue收到信号后,才会把queue中的message删除。 boolean autoAck=false;//当autoAc原创 2016-12-06 11:47:12 · 1061 阅读 · 0 评论 -
RabbitMQ案例二之WorkQueue
这是一个生产者多个消费者的情况NetTask.java表示是一个生产者,向队列发送很多信息package yy.rabbitstudy.queue;import java.io.IOException;import java.util.concurrent.TimeoutException;import com.fasterxml.jackson.databind.d原创 2016-12-06 11:04:07 · 344 阅读 · 0 评论 -
RabbitMQ第一个案例:hello world
前提:把rabbitMQ安装完成Producer:package yy.rabbitstudy;import java.io.IOException;import java.util.concurrent.TimeoutException;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connecti原创 2016-12-06 10:05:42 · 480 阅读 · 0 评论 -
RabbitMQ案例之Publish/Subscribe
目的:把消息发到每一个消费者如上图。在producer与queue之间还有一个交换机(exchange),producer把消息发送到exchange上,消费都拿着queue来bind到exchang上后。当producer发布消息时,consumer都可以收到信息。EmitLog.java发日志:package yy.rabbitstudy.publish;原创 2016-12-06 15:16:45 · 659 阅读 · 0 评论