RabbitMQ
琴剑山庄
这个作者很懒,什么都没留下…
展开
-
RabbitMQ(一) 入门代码 Helloworld
本系列教程主要来自于官网入门教程的翻译,然后自己进行了部分的修改与实验,内容仅供参考。“Hello world” of RabbitMQ1、Windows下RabbitMQ的安装下载Erlang,地址:http://www.erlang.org/download/otp_win32_R15B.exe ,双击安装即可(首先装)下载RabbitMQ,地址:http://www.ra原创 2017-07-18 14:30:39 · 397 阅读 · 0 评论 -
RabbitMQ (九) Spring集成RabbitMQ(1)
前面几篇讲解了如何使用rabbitMq,这一篇主要讲解spring集成rabbitmq。 首先引入配置文件org.springframework.amqp,如下 com.rabbitmq amqp-client 3.5.1 org.springframework.amqp spring-rabbit原创 2017-07-18 18:13:48 · 568 阅读 · 0 评论 -
RabbitMQ (七) 主题(Topic)
虽然使用direct类型改良了我们的系统,但是仍然存在一些局限性:它不能够基于多重条件进行路由选择。在我们的日志系统中,我们有可能希望不仅根据日志的级别而且想根据日志的来源进行订阅。这个概念类似unix工具:syslog,它转发日志基于严重性(info/warning/crit…)和设备(auth/cron/kern…)这样可能给我们更多的灵活性:我们可能只想订阅来自’cron’的致命错误原创 2017-07-18 16:26:42 · 322 阅读 · 0 评论 -
RabbitMQ (八) 远程调用(RPC)
前言:前面我们讲解的都是本地服务器,现在如果需要远程计算机上运行一个函数,等待结果。这就是一个不同的故事了,这种模式通常被称为远程过程调用或者RPC。本章教程我们使用RabbitMQ搭建一个RPC系统,一个客户端和一个可扩展的RPC服务器,现在我们开始吧。Callback queue一般做rpc在RabbitMQ是比较容易的,一个客户端发送一个请求信息和一个响应信息的服务器回复,为了得原创 2017-07-18 16:30:28 · 402 阅读 · 0 评论 -
RabbitMQ (六) 路由选择 (Routing)
本篇博客我们准备给日志系统添加新的特性,让日志接收者能够订阅部分消息。例如,我们可以仅仅将致命的错误写入日志文件,然而仍然在控制面板上打印出所有的其他类型的日志消息。1、绑定(Bindings)在上一篇博客中我们已经使用过绑定。类似下面的代码:channel.queueBind(queueName, EXCHANGE_NAME, "");绑定表示转发器与队列之间的关系。我们也可以简原创 2017-07-18 16:02:24 · 516 阅读 · 0 评论 -
RabbitMQ (五) 交换规则
在上一篇我们都是采用发送信息到队列然后队列把信息在发送到消费者,其实实际情况并非如此,rabbitMQ其实真正的思想是生产者不发送任何信息到队列,甚至不知道信息将发送到哪个队列。相反生产者只能发送信息到交换机,交换机接收到生产者的信息,然后按照规则把它推送到对列中,交换机是如何做处理他接收到的信息,并怎么样发送到特定的队列,那么这一篇主要是讲解交换机的规则。一:发布/订阅在上一篇说到的队列原创 2017-07-18 16:00:20 · 501 阅读 · 0 评论 -
RabbitMQ (四) 发布/订阅
上一篇博客中,我们实现了工作队列,并且我们的工作队列中的一个任务只会发给一个工作者,除非某个工作者未完成任务意外被杀死,会转发给另外的工作者,如果你还不了解:RabbitMQ (二)工作队列。这篇博客中,我们会做一些改变,就是把一个消息发给多个消费者,这种模式称之为发布/订阅(类似观察者模式)。 为了验证这种模式,我们准备构建一个简单的日志系统。这个系统包含两类程序,一类程原创 2017-07-18 15:50:01 · 373 阅读 · 0 评论 -
RabbitMQ (三)工作队列
工作队列的主要任务是:避免立刻执行资源密集型任务,然后必须等待其完成。相反地,我们进行任务调度:我们把任务封装为消息发送给队列。工作进行在后台运行并不断的从队列中取出任务然后执行。当你运行了多个工作进程时,任务队列中的任务将会被工作进程共享执行。这样的概念在web应用中极其有用,当在很短的HTTP请求间需要执行复杂的任务。1、 准备我们使用Thread.sleep来模拟耗时的任务。我们原创 2017-07-18 15:42:49 · 304 阅读 · 0 评论 -
RabbitMQ(二) java简单的实现RabbitMQ
前言:在这里我将用java来简单的实现rabbitMQ。下面我们带着下面问题来一步步的了解和学习rabbitMQ。1:如果消费者连接中断,这期间我们应该怎么办2:如何做到负载均衡3:如何有效的将数据发送到相关的接收者?就是怎么样过滤4:如何保证消费者收到完整正确的数据5:如何让优先级高的接收者先收到数据一:"Hello RabbitMQ"下面有一幅图,其中P表示生产者,原创 2017-07-18 15:38:51 · 609 阅读 · 0 评论 -
RabbitMQ (十) Spring集成RabbitMQ(2)
1、消息生产者 package com.lin.producer; import javax.annotation.Resource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.原创 2017-07-19 11:24:42 · 473 阅读 · 0 评论