消息中间件的好处:
1,异步,提高传输速度
2,应用解耦。提高系统效率
3,流量阈值控制,避免所有用户请求可能在同一时间到达系统后台
Exchange(交换器): 用来接受消息并且消息路由给服务器中的队列,有四种类型,即决定消息发布到那个队列,具体有以下的类型:
Direct:消息中的路由键(routingkey),如果和Binding中的binding key 一致,那么就将消息发到对应的队列中。
Fanout: 广播模式,每个发送到fanout类型的交换器消息,交换器会将消息发送到它绑定的所有队列中,它转发消息是最快的。
Topic:主题,可以设置模糊匹配,会识别"#"和"*"号,#表示匹配0个或者多个单词,*匹配一个单词,单词之间使用:逗号隔开。
headers:实现发布订阅模型。
Binding(绑定): 用于消息队列和交换器之间的关联,一个绑定就是基于路由键将交换机和消息队列连接起来的路由规则,交换器跟队列的绑定可以是多对多的关系
Channel(信道): 多路复用连接中的一条独立的双向数据流通道,信道是建立在真实的TCP连接内的虚拟通道,AMQP命令都是通过信道发出去的,不管是发布消息,订阅队列,还是接收消息,都是通过信道完成,因为对于操作系统来说创建和销毁一个TCP连接都是很昂贵的开销,所以使用信道以实现复用一条TCP连接。
cmd命令查询当前消息队列:进入rabbit_server的sbin目录后输入rabbitmqctl.bat list_queues
rabbitmq服务启动停止:win+R -->services.msc找到rabbitmq即可