1、屏蔽异构平台的细节:发送方、接收方系统之间不需要了解双方,只需认识消息。
2、异步:消息堆积能力;发送方接收方不需同时在线,发送方接收方不需同时扩容(削峰)。
3、解耦:防止引入过多的API给系统的稳定性带来风险;调用方使用不当会给被调用方系统造成压力,被调用方处理不当会降低调用方系统的响应能力。
4、复用:一次发送多次消费。
5、可靠:一次保证消息的传递。如果发送消息时接收者不可用,消息队列会保留消息,直到成功地传递它。
6、提供路由:发送者无需与接收者建立连接,双方通过消息队列保证消息能够从发送者路由到接收者,甚至对于本来网络不易互通的两个服务,也可以提供消息路由。
软件系统中使用消息队列的主要场景:
秒杀活动、抢购、消息通讯、邮件发送、电话短信等都是典型的采用消息中间件的业务场景。
AMQP 0-9-1 Model Explained:https://www.rabbitmq.com/tutorials/amqp-concepts.html
交换机的四种类型
Topics:https://www.rabbitmq.com/tutorials/tutorial-five-python.html
特性中可以做路由的匹配
它们存储由应用程序使用的消息。
队列与交换共享一些属性,但也具有一些其他属性:
必须先声明队列,然后才能使用队列。声明队列将导致它创建(如果尚不存在)。如果队列已经存在并且其属性与声明中的相同,则该声明无效。
如果有至少一个消费者订阅了队列,当消息到达队列时,消息会发送给订阅者。如果一个订阅者都没有,消息会在队列中等待,直到出现第一个订阅者
绑定是交换使用(其中包括)将消息路由到队列的规则。
为了指示交换机E将消息路由到队列Q,必须将Q绑定到E。绑定可能具有某些交换机类型使用的可选 路由键属性。
路由密钥的目的是选择发布到交换机的某些消息以路由到绑定队列。换句话说,路由键就像一个过滤器。
AMQP 引进的一个特殊的概念,建立在 tcp 之上的一个引用层协议
一个客户端与一个服务器建立一个连接,可以用于多个消费者
一个 tcp 连接里面可以产生多个信道
什么时候从队列中移除
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。