1.直连队列模式(hello world队列),P直连Q连C(1对1),生产者直连单个队列,一个队列连接一个消费者
P->Q->C
- ps:在helloword模式中,生产端指定的routingKey:helllo,这里指定的是路由规则,而不是hello队列。队列是在消费方生成的,其实是这样的,生产端没有指定交换机只有routingKey和Object,也就是说这个消费方产生hello队列,放在默认的交换机(AMQP
default)上。而默认的交换机有一个特点,只要你的routerKey与这个交换机中有同名的队列,他就会自动路由上。
生产端routingKey 叫hello ,消费端生产hello队列。他们就路由上了
2.直连队列模式(工作队列),P直连Q1连C1,P直连Q2连C2(1对多),生产者直连多个队列,每个队列连接着一个消费者
P->Q1->C1
P->Q2->C2
3.交换机模式(广播模式,routingKey无用,fanout),P连接E,E通过连接Q1/Q2给C1/C2输送消息,生产者不直接连接队列,而是连接交换机,通过交换机来路由多个(临时的,且是由消费者生成的队列)队列,交换机来连接多个队列来给消费者发送消息。
P->E->Q1->C1
P->E->Q2->C2
4.交换机模式(路由模式,路由键《routingKey》准确匹配 ,生产者发送对应routingKey的消息,而绑定了某种(或者多种)routingKey的消*费者获取该种类型的消息,direct),P连接E,E通过连接Q1/Q2/Q3给C1/C2/C3输送消息,但是连接队列时,是通过对应的routingKey来的做匹配,如果生产者发送的是填写的routingKey是error类型的日志,那就发送这个类型的日志给Q1和Q3队列,Q2接受不到,因为Q2接受的日志类型是info。
P->E->(routingKey=“error”)->Q1->C1
P->E->(routingKey=“info”)->Q2->C2
P->E->(routingKey in (“info”,“error”,“wangring”))->Q3->C3
5.交换机模式(路由模式,路由键《routingKey》模糊匹配,生产者发送对应routingKey的消息,该种routingKey是可以使用通配符来做模糊匹配的,而绑定了某种(或者多种)routingKey的消费者获取该种类型的消息,topic),具体原理和上面的第四种模型相似,但是routingKey变成了模糊匹配,通过星号和#号。星号只可以匹配一个字符,而#号则可以匹配多个字符。
P->E->(routingKey=“log.*”)->Q1->C1
P->E->(routingKey=“log.#”)->Q2->C2
6.RPC模型
7.发布订阅确认
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)