RabbitMQ三种模式说明以及应用场景

fanout 模式(广播模式):
个人理解就跟大广播一样的,只要连接到这种交换器,所以列队拿到的消息都是一模一样的,常用于那种需要通知很多服务或者其他多个系统的消息类型。

direct 模式通过 RoutingKey 将消息发送给指定的队列,个人觉得用于那种只有一两个地方需要接受这样消息的地方,使用消息地方不是特别多的场景。

topic 模式,跟 direct 差不多,但更加灵活,支持模式匹配,通配符等
交换器里的消息按照Routing key分门别类,一个Routing key通常对应一类的消息,一般要接受多个key消息的话,可以配置成类似数组的形式,有时候也需要接受只要key中包含特定字符或者以特定字符开始的消息,那么topic模式是你最佳选择!

一般业务上消息的发送的正确与否,不影响消息发送方自身的处理逻辑,才会选择使用MQ进行通讯,如果关系到自身的逻辑或者事务的话,那么不能用消息,还是得用接口。
举例说明:服务A,服务B两个服务需要进行通讯,A调用B,B的回执决定A的执行最终成功,那么就用接口;服务A处理完之后的结果只需要告诉给B,至于B怎么操作以及操作结果咋样,跟A毫无关系,那么采用A给B发消息方式!

你可能感兴趣的:(Rabbit,MQ,RabbitMQ,RabbitMQ三种模式,Rabbit,RabbitMQ模式说明)