官网:https://www.rabbitmq.com/getstarted.html
简介:
rabbitmq是一款开源的消息代理,它接受并转发消息
rabbitmq有六种工作模式
1、简单模式(“hello world”):
一个生产者一个消费者。
2、work模式(“work queues”):
一个生产者多个消费者。生产者发送一条消息,只能被一个消费者拿到。如果生产者发送多条消息,消费者拿到的消息是不会重复的。
3、订阅模式(“publish/subscribe”):
和work模式类似,一个生产者多个消费者,但是中奖多了个交换机,一条消息可以被多个消费者获取。生产者将消息发给交换机,交换机把消息分配给已绑定的消费者,前提是消费者和交换机绑定
4、路由模式(“routing”)
和订阅模式类似,同样是一个生产者多个消费者。中奖多了个交换机,一条消息可以被多个消费者获取。但是他在传递的时候设置了一个key,也就是路由建。例如:一号消费者设置的是insert,二号消费者设置的key是insert和update。假如生产者发送了一个key为insert的时候,2个消费者都能拿到数据。如果生产者发送了一个key为update,那么这时候只有2号消费者能拿到数据。
5、通配符(话题)模式(“topics”)
和路由模式类似,同样是一个生产者多个消费者,中间多了个交换机(exchange),一条消息可以被多个消费者获取。同样是传key,但是他的key是可以模糊匹配的,匹配一个单词,#匹配0或者多个单词。例如:一号消费者设置的是item.#,二号消费者设置的key是item.。一号消费者可以获取所有item开头的消息,二 号就只能匹配item.后面加一个词的消息。例如:消息是item.insert他可以获取,但是item.insert.update他就不能获取了。