RabbitMQ入门系列的最后一篇文章。
RPC[1](Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC使得开发包括网络分布式程序在内的应用程序更加容易。
继续阅读“RabbitMQ快速入门(七)RPC”
月份:2018年4月
RabbitMQ快速入门(六)Topic
相比fanout类型,基于direct类型的交换器实现的日志记录系统,可以让我们有选择的接收日志。而在其他的一些场景下,direct类型交换器仍然不能够满足人们日益增长的需求。比如:不仅需要对日志的级别进行过滤,还要对日志源进行过滤。
继续阅读“RabbitMQ快速入门(六)Topic”
RabbitMQ快速入门(五)Routing
与fanout类型的交换器绑定了的队列,会收到所有经过该交换器的消息,即fanout类型的交换器会转发所有消息到与之绑定的队列中。那么,如果消费者应用程序只想接收经过交换器的一部分消息,该怎么办呢?
继续阅读“RabbitMQ快速入门(五)Routing”
RabbitMQ快速入门(四)Publish/Subscribe
前一篇文章学习了工作队列,细心的你或许会发现:生产者生产的每一条特定的消息要么被消费者C1消费,要么被消费者C2消费。也就是说,一条消息只能被一个消费者消费。那么,多个消费者如何消费同一条消息呢?
继续阅读“RabbitMQ快速入门(四)Publish/Subscribe”
RabbitMQ快速入门(三)Work Queues
前面介绍了简单的RabbitMQ示例:一个生产者、一个消费者。然而,面对复杂耗时的任务时,为了提高工作效率,往往会使用多个消费者进行消费。此时的工作队列(Work Queue)需要将消息分发给多个消费者。如图1-1所示:
继续阅读“RabbitMQ快速入门(三)Work Queues”
RabbitMQ快速入门(二)Hello World
在熟悉了AMQP的相关概念之后,再学习RabbitMQ就比较容易了。毕竟RabbitMQ是对AMQP的实现,并且RabbitMQ提供了包括c/c++, python, java等众多语言可供开发者选择使用。
继续阅读“RabbitMQ快速入门(二)Hello World”
RabbitMQ快速入门(一)AMQP
RabbitMQ是对高级消息队列协议(Advanced Message Queueing Protocol, AMQP)的实现,本文主要介绍一些AMQP协议相关的基本概念,在对AMQP有一定的认知之后,能够帮助我们更好的了解RabbitMQ消息中间件。
继续阅读“RabbitMQ快速入门(一)AMQP”
RabbitMQ服务无法启动问题分析
1.问题再现
重启rabbitmq服务:service rabbitmq-server restart
输入该命令后,rabbitmq服务并未启动。(通过ps命令或rabbitmqctl status命令查看启动状态)
继续阅读“RabbitMQ服务无法启动问题分析”