1、RabbitMQ集群是一个或多个节点的逻辑分组,每个节点共享用户、虚拟主机、队列、交换器、绑定、运行时参数和其他分布式状态。一些分布式系统有leader和follower节点。对于RabbitMQ来说,RabbitMQ集群中的所有节点都是平等的。
2、解决方法是将rabbitmq01这个故障节点从集群中剔除,然后重新加入。
3、MQ全程为messagequeue,即消息队列。是一种跨进程、异步通信机制、用于上下游传递消息。
为了保证数据不被丢失,RabbitMQ支持消息确认机制,为了保证数据能被正确处理而不仅仅是被Consumer收到,这就需要在处理完数据之后发送一个确认ack。
由此可见,Kafka绝对是为了高吞吐量设计的,比如设置分片数为100,那么就有100台机器去扛一个Topic的流量,当然比RabbitMQ的单机性能好。
MQ全程为messagequeue,即消息队列。是一种跨进程、异步通信机制、用于上下游传递消息。
rabbitMQ架构为rabbitMQ+keepalived镜像模式。
AMQP的模型架构如下:rabbitMQ是AMQP协议的一个开源实现。
https://rocketmq.apache.org/docs/motivation/2RabbitMQ使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP,SMTP,STOMP,也正是如此,使的它变的非常重量级,更适合于企业级的开发。
1、消息队列指:一端进消息,一端出消息RabbitMQ就是实现了消息队列概念的一个组件,以面向对象的思想去理解,消息队列就是类,而RabbitMQ就是实例,当然不仅仅只有RabbitMQ,例如ActiveMQ,RocketMQ,Kafka,包括Redis也可以实现消息队列。
2、检查RabbitMQ服务是否已启动:首先,确保RabbitMQ服务已经成功启动。您可以在操作系统的服务管理器中查找RabbitMQ服务,并确保其处于运行状态。
3、消息中间件可用于构建基于事件的系统、微服务架构和各种分布式应用等。常见的消息中间件包括ActiveMQ、RabbitMQ、Kafka、RocketMQ等。
默认安装的RabbitMQ监听端口是:5672配置安装完以后erlang需要手动设置ERLANG_HOME的系统变量。
以下是Centos7的配置:进入/etc/systemd/system或者/usr/lib/systemd/system,并创建rabbitmq-server.service文件。注意:通过yum安装的,已经在/usr/lib/systemd/system目录下存在rabbitmq-server.service文件。
AMQP0-9-1握手(socket连接和TLS握手之后)的最大时间,以毫秒为单位。默认的配置为handshake_timeout=10000。例:设置为true以在接受一个连接时执行反DNS反查询。在rabbitmqctl中和web管理中将显示主机名称而不是IP地址。
一个队列想做成镜像队列,需要先设置policy,然后客户端创建队列的时候,rabbitmq集群根据队列名称自动设置为普通队列还是镜像队列。
注意,如果终端使用的是zsh,不需要修改~/.zshrc配置文件去设置环境变量,反而设置了环境变量启动会出现异常。bash是否需要配置本人暂未测试,如果需要配置可在profile中加入以下信息,仅供参考。