http://www.rabbitmq.com/getstarted.html
rabbitMQ是遵循AMQP协议实现的消息服务,核心概念
producer - 消息生产者
exchange - rabbitMQ服务端的信箱,负责接受从producer发送来的消息
queue - 消息队列,同样在rabbitMQ服务端。exchange会把消息分发给queue。consumer从queue中取消息
consumer - 消费者,从queue里面读取消息
exchange类型:
fanout - 把exchange接受到的message分发到所有bind到这个exchange的queue
direct - queue在绑定到这个exchange的时候会指定binding-key。exchange在接受message的时候,message可以指定自己的routing-key。exhcange会比较message的routing-key和queue的binding-key, 进而把不同的message分发到不同的queue当中。
topic - 貌似支持类正则表达式,高阶??
header - ??
常用的类型也就fanout和direct了,很简单的!
消息服务比较在意的问题无外乎以下几点,
消息会不会丢?
在实现consumer的时候,可以指定其绑定的queue需要手工进行message acknowlegment(message ack)。如果queue没有接受到consumer发回的message ack, 它便不会删除message,直到consumer发送回来message ack,这就表明consumer已经处理完本条消息了。而且这个没有超时机制,只有当consumer的连接断掉之后,queue才会进行重发。message ack机制可以保证消息不会丢。
如果rabbitMQ Server down掉了怎么办?
同样,在实现consumer的时候也可以指定queue和message都是durable的。这样当断电或死机的时候,queue和message同样不会丢。因为server已经帮你把他们本地化了。
分享到:
相关推荐
1. AMQP消息队列:AMQP(Advanced Message Queuing Protocol)是一种开放标准,用于应用程序之间异步通信。它定义了一种通用的消息格式和协议,使得不同的消息中间件可以互操作。 2. RabbitMQ:RabbitMQ是一个开源...
1. 配置环境变量:在系统环境变量中添加RabbitMQ的sbin目录到PATH,例如`C:\Program Files\RabbitMQ Server\rabbitmq_server-3.x.x\sbin`(x.x.x代表版本号)。 2. 初始化插件:首次安装后,需要通过命令行执行`...
1. **下载RabbitMQ安装包**: ```bash wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-generic-unix-3.6.1.tar.xz ``` 2. **解压缩安装包**: ```bash xz -d rabbitmq-server-...
yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm ``` 3. **启用管理插件:** - 启用 RabbitMQ 的管理插件。 ```sh rabbitmq-plugins enable rabbitmq_management cd /usr/lib/rabbitmq/lib/rabbitmq_...
1. 操作系统:RabbitMQ支持多种操作系统,包括Linux、Windows等。这里以Linux为例。 2. Erlang环境:RabbitMQ依赖Erlang OTP运行时环境,需要先安装Erlang。 三、安装Erlang 你可以从Erlang Solutions官网下载适合...
例如,如果一个节点被命名为`rabbitmq1`,则其他节点的hosts文件中应该包含`rabbitmq1`的条目,并且能够通过计算机名ping通。 **2. Erlang口令文件** - 确保每个节点上都存在`.erlang.cookie`文件,并且内容相同。...
1. **生产者(Producer)**:负责发送消息到 RabbitMQ。 2. **交换器(Exchange)**:接收来自生产者的消息,并根据绑定规则将消息推送到队列中。 3. **队列(Queue)**:用来存储消息,直到被消费者消费。 4. **消费者...
RabbitMQ支持AMQP 0-9-1版本,提供了一种标准的跨平台通信方式。 2. **RabbitMQ基本概念**: - **Broker**:RabbitMQ就是消息队列的broker,负责接收、存储和转发消息。 - **Exchange**:交换器是RabbitMQ的核心...
RabbitMq+Haproxy 高可用安装步骤 RabbitMq 是一个流行的消息队列系统,它提供了高性能、可靠的消息传递服务。Haproxy 是一个知名的负载均衡器,它可以帮助我们实现高可用的服务器集群。在这里,我们将讲解如何在 ...
1. **下载RabbitMQ** 访问RabbitMQ官网 [https://www.rabbitmq.com/install-windows.html](https://www.rabbitmq.com/install-windows.html) 下载适合Windows系统的安装包。 2. **安装RabbitMQ** - 运行下载好...
安装与配置 RabbitMQ官方文档:https://www.rabbitmq.com/download.html其他参考:https://hub.docker
1. **下载RabbitMQ:** ```bash wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-generic-unix-3.6.9.tar.xz ``` 2. **解压RabbitMQ压缩包:** 首先需要安装xz解压工具: ```...
1. 配置插件:RabbitMQ有许多预装的插件,如`rabbitmq_management`,提供了一个Web界面来管理RabbitMQ。启用插件: - Linux:`sudo rabbitmq-plugins enable rabbitmq_management` - Windows:使用RabbitMQ的...
1. 访问RabbitMQ官网下载页面,选择适用于CentOS 6的RabbitMQ Server版本,通常推荐稳定版。 2. 使用`wget`或`curl`命令下载RPM包,例如: ```bash wget ...
1. 创建队列:通过命令行工具`rabbitmqadmin`或API创建队列,定义消息持久化、队列大小等属性。 2. 发布与消费消息:使用RabbitMQ客户端库,如Python的pika,Java的rabbitmq-client等,实现消息的发布与消费。 3. ...
1. **添加依赖**:在项目中引入RabbitMQ的Java客户端库。 2. **编写代码**:根据业务需求编写发送者和接收者代码。 3. **配置连接**:配置与RabbitMQ服务器的连接参数。 4. **发布与订阅消息**:实现消息的发送与...
RabbitMQ是一个开源的消息代理和队列服务器,广泛用于应用程序之间的异步通信。它基于高级消息队列协议(AMQP),支持多种消息协议,并且可以轻松地集成到分布式系统中。...1. 访问[RabbitMQ官网](https://www.rabbi
1. **生产者**: 生产者是发送消息到RabbitMQ的应用,它创建并发布消息到交换机。 2. **交换机**: 交换机根据预定义的路由规则决定将消息路由到哪个队列。常见的交换机类型有Direct、Fanout、Topic和Header。 3. **...
rabbitmq配置文件,用于rabbitmq管理