相对前面几个章节来说,这个章节知识点不是着重点。大家对这一章节知识的掌握程度为了解。好了,废话不多说,开始正文
单台 RabbitMQ 服务器可以满足每秒 1000 条消息的吞吐量,如果对吞吐量要求更高就需要构建rabbitMQ集群了。RabbitMQ 集群允许消费者和生产者在 RabbitMQ 单个节点崩惯的情况下继续运行,它可以 通过添加更多的节点来线性地扩展消息通信的吞吐量。当失去一个 RabbitMQ 节点时,客户端 能够重新连接到集群中的任何其他节点并继续生产或者消费。
RabbitMQ 集群不能保证消息的万无一失。即使将消息、队列、交换器等都设置为可持久化,生产端和消费端都正确地使用了确认方式,当集群中一个 RabbitMQ 节点崩溃时,该节 点上的所有队列中的消息也会丢失。RabbitMQ 集群中的所有节点都会备份所有的元数据信息, 包括队列的名称及属性,交换器的名称及属性,交换器与队列或者交换器与交换器之间的绑定关系, 但是不会备份消息(可以通过镜像队列来解决这个问题)。
rabbitmq可以通过三种方式来部署分布式集群系统,分别是:cluster、federation、shovel。
cluster的特点为:
federation特点为:
shovel:连接方式与federation的连接方式类似,相当于建立一个消费者,来将消息从一个队列转移到另一个队列。
#开启WEB后台监控
./rabbitmq-plugins enable rabbitmq_management
#启停服务
service rabbitmq-server start
service rabbitmq-server stop
service rabbitmq-server restart
#查看状态
service rabbitmq-server status
#运行节点
rabbitmq-server -detached
# rabbitmqctl(命令行工具)
rabbitmqctl stop_app
rabbitmqctl start_app
#初始化node状态,会从集群中删除该节点
rabbitmqctl reset
#无条件的初始化node状态
rabbitmqctl force_reset
#[--ram]不写则默认为disc
rabbitmqctl join_cluster <clusternode> [--ram]
rabbitmqctl cluster_status
好啦,rabbitMQ的教程到这里结束了,感谢小伙伴的阅读。
后续会更新kafka,时间不定,佛系更新