随笔分类 - 中间件 / 中间件-RabbitMQ
摘要:1、RabbitMQ网址 RabbitMQ官网:https://www.rabbitmq.com/ Github地址:https://github.com/rabbitmq/rabbitmq-server RabbitMQ的rabbitmq-env.conf文件:https://www.rabbit
阅读全文
摘要:1、消息追踪 在使用任何消息中间件的过程中,难免会出现消息异常丢失的情况。 可能是生产者与Broker断开了连接并且也没有任何重试机制。 可能是消费者在处理消息时发生了异常,不过却提前进行了ack。 可能是交换器并没有与任何队列进行绑定,生产者感知不到或者没有采取相应的措施。 可能是RabbitMQ
阅读全文
摘要:1、网络分区的意义 RabbitMQ集群的网络分区的容错性并不是很高,一般都是使用Federation或者Shovel来解决广域网中的使用问题。不过即使是在局域网环境下,网络分区也不可能完全避免,网络设备(比如中继设备、网卡)出现故障也会导致网络分区。 当出现网络分区时,不同分区里的节点会认为不属于
阅读全文
摘要:1、存储机制 持久化消息和非持久化消息都可以被写入到磁盘。 持久化消息一到达队列就会被写入磁盘。持久化消息会尽可能地保存在内存中,这样可以提高一定的性能,但当内存吃紧时会从内存中清除。 非持久化消息一般只会保存在内存中,但在内存吃紧时也会被写入到磁盘中,以节省内存空间。 将持久化消息和非持久化消息存
阅读全文
摘要:RabbitMQ可以通过3种方式实现分布式部署:集群、Federation和Shovel。这3种方式不是互斥的,可以根据需要选择其中的一种或者以几种的组合来达到分布式部署的目的。 Federation和Shovel可以为RabbitMQ的分布式部署提供更高的灵活性,但同时也提高了部署的复杂性。 1、
阅读全文
摘要:RabbitMQ集群允许消费者和生产者在RabbitMQ一个节点崩惯的情况下继续运行,它也可以通过添加更多的节点来水平扩展消息通信的吞吐量。 当失去一个RabbitMQ 节点时,客户端能够重新连接到集群中的任何其他节点并继续生产或者消费。不过RabbitMQ集群不能保证消息的不会丢失,即便将消息、队
阅读全文
摘要:一般情况下,可以使用默认配置直接运行RabbitMQ。 配置RabbitMQ服务有三种方法: (1)环境变量(Enviroment Variables):RabbitMQ服务端参数可以通过环境变量进行配直。例如,节点名称、RabbitMQ配置文件的地址、节点内部通信的端口等。 (2)配置文件(Con
阅读全文
摘要:rabbitmqctl是一个命令行工具,使用这个工具可以执行大部分的RabbitMQ的管理操作。 rabbitmq management是RabbitMQ提供的一个管理插件,可以让用户通过图形化的方式来管理RabbitMQ,但是它的功能却远不仅于此。 1、RabbitMQ服务管理 rabbitmq-
阅读全文
摘要:1、RabbitMQ架构 RabbitMQ是一个生产者与消费者模型,主要负责接收、存储和转发消息。 RabbitMQ的整体架构模型,如图2-1所示。 AMQP消息路由必须有三部分:交换器、队列和绑定。 1.1、生产者和消费者 生产者(Producer):创建消息,然后将消息发布(发送)到Rabbit
阅读全文
摘要:RabbitMQ官网:https://www.rabbitmq.com/ Github地址:https://github.com/rabbitmq/rabbitmq-server RabbitMQ是由Erlang语言编写的,因此,在安装RabbitMQ之前需要安装Erlang 。建议采用较新版的Er
阅读全文
摘要:1、什么是消息中间件 消息(Message)就是在应用之间传送的数据。消息可以非常简单,比如只包含文本字符串、JSON等,也可以很复杂,比如内嵌对象。 消息队列中间件(Message Queue Middleware ,简称为MQ)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通
阅读全文

浙公网安备 33010602011771号