1.发布与订阅 publish and subscribe
短信发送,消息订阅的功能一般会用到这个模式。
这个模式是通过路由器绑定消息队列来实现的,只要有队列绑定到这个路由器,就会接受改路由器的通知。
2.routing模式 路由模式
在发布订阅模式的基础增加了路由key
一定要选择direct才行,不然选fallout的话,没办法过滤发送。
3.topic机制
#号代表前面有大于等于0的拓展结点,
比如 设置路由key为com.#,只有队列路由key为 com.xx.xxx或者com.xx或者com都是匹配的 ;
*号代表至少有一个结点
比如 设置路由key为com.*,只有队列路由key为 com.xx是匹配的;
4.work模式
work轮训模式分发:一个消费者一条,按均分配;
公平分发:根据消费者的消费能力分发,多劳多得的机制;
上述两者不同时在 autoACK上,前者为true,后者为false,为自动应答 和手动应答。
rabbitmq默认交换机采用的是 --->work轮训模式
公平分发的要设置qos,其意思是消费者队列每次可以接受qos多少条数目
5.为什么用到rabbitmq
业务原因,分布式架构,把系统进行拆分,做了某几个模块,它们之间要互相沟通协同,公司采用消息队列,所以用了rabbitmq,我感觉他是一个异步多线程机制,让网站系统性能提升,异步处理数据能力高效稳健。
削峰:流量削峰,可靠异步实现,解决高并发的意思