组成
- Message
- Publisher
- Exchange
- Binding绑定
- Queue
- Channel
- Consumer
- Virtual Host
- Broker
Exchange类型
- direct: RoutingKey和Binding中的bindKey一致,则消息发送到队列中,完成匹配,广播模式
- fanout: 只是将队列绑定到交换器总,Exchange发送的消息都会发送到绑定的队列上去,一对多广播,,该类型发送消息时最快的。
- topic: Exchange通过模式匹配分配晓得路由键属性。路由键和绑定键的字符切分成单词,单词之间用逗号分隔。同时又两个通配符,‘#:配置0个或多个单词,*:配置模糊匹配’。
常用命令
- 启动:./sbin/rabbitmq-server
- 后台启动:./sbin/rabbitmq-server -detached
- 状态:./sbin/rabbitmqctl status
- 关闭: ./sbin/rabbitmqctl stop
- 关闭RabbitMQ应用程序,保证erlang结点运行可以用stop_app: ./sbin/rabbitctl stop_app
- 启动 RabbitMQ 应用程序:./sbin/rabbitmqctl start_app
- 重置 RabbitMQ 节点:./sbin/rabbitmqctl reset
- 查看已声明的队列:./sbin/rabbitmqctl list_queues
- 查看交换器:./sbin/rabbitmqctl list_exchanges
- 查看绑定:查看绑定
RabbitMQ集群的特性
- 集群只会在单节点而不是所有节点上创建完整的数据。只保存元数据
- 声明队列,交换器,绑定的时候,所有节点提交元数据成功后才返回。
- 集群要求至少有一个磁盘节点,其他节点可以是内存节点,磁盘节点崩了,集群可以继续路由信息,但不能创建队列、创建交换器、绑定 、用户、全删,添加和删除节点。