赞
踩
【rabbitmq是啥?为什么要用?】
rabbitmq采用AMQP高级消息队列协议的技术,最大的特点就是消费并不需要确保提供方存在,实现了服务之间的高度解耦。
在分布式系统下具备异步,削峰,负载均衡等一系列高级功能
拥有持久化的机制,进程消息、队列中的信息也可以保存
实现消费者和生产者之间的解耦
在高并发场景下,利用消息队列可以使得同步访问变为串行访问达到一定量的限流
可以使用消息队列达到异步下单的效果
【交换机和队列的联系】
一般情况下,为了让生产者和消费者充分解耦,理想情况下,生产者仅仅直到关于交换机达的信息,消费者仅仅直到队列的信息,绑定关系表明交换机和队列的关系。
当然也可以生产者/消费者/CLI创建一切
路由键:消息绑定到交换机上的规则,消息根据规则由交换机将消息投递到相对应的队列。如果路由消息不匹配任何绑定,消息将进入黑洞。
direct交换器(header类似,性能差):如果路由键匹配,消息就会被投递到对应的队列。服务器必须实现direct类型交换器,包含一个空白字符串命名的默认交换器。当声明一个队列时,它会自动绑定到默认交换器,并以队列名作为路由键。
fanout交换器:当发送一套消息到fanout交换器时,它会把消息投递到所有附加在此交换器上的队列。
topic交换器:这类交换器根据topic可以使得不同源头的消息到达同一个队列。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。