消息拥有消息头和消息体,消息具有rounting key,主题交换机和扇形交换机都是分布与订阅的实现方式,主题交换机用于匹配接收的消息的rount key 动态匹配模式匹配到多个符合的队列,扇形fanout交换机则不会使用消息的路由key,即便在绑定队列的时候指定了Routing key,也不会有任何效果,它会向所有绑定到当前交换机的 队列广播消息,该交换机绑定队列的时候所有的rounting key为空,这样所有被绑定的队列都能收到交换机的消息,实现广播功能。
当点击交换机绑定队列A的时候设置了routing key,并去队列中找到队列A,点击队列A,就会显示队列A被哪个交换机通过哪个rounting key关联。
直连交换机严格根据消息的rounting key 交给直连交换机,接收消息后应答,交换机将消息严格发送到当前绑定下的队列中的rounting key值匹配,只要匹配到交换机就向该队列投送消息
1 rabbitmq的交换机类型,和交换机功能
2 rabbitMq集群模式,非主从,对等模式,生产者生产消息,会随机到一个节点上,当发现当前队列不在此节点,就会查找该队列所在的节点,并转发过去。
3 rabbitMq使用了Amqp协议,redis使用reps协议。
4 rabbitMq应用场景,异步!如传统下订单2s扣库存2s合计4s使用mq做异步主程序降小于4s处理更多请求,把请求给mq让他进行异步投送,可以减轻服务的并发压力,可以控制消费频率,实战消息削峰,解偶等功能
5 rabbitMq可以性能优化,比如从计算机层面上,设置网卡缓冲大小,减少数据包丢失的情况,可以从jvm上优化,设置合计的jvm数据区大小如xms,xmm,xmn,设置合理的垃圾回收收集器