消息队列可以作为通信的中介,临时存放发送方信息,等待接收方领取。消息的发送者将消息放进消息队列后可以立即返回,不需要等待接收者的响应,消息会被保存在队列中,直到被接收者取出。消息队列的以下几个优点:
1、屏蔽异构平台的细节:发送方、接收方系统之间不需要了解双方,只需认识消息。
2、异步:消息堆积能力;发送方接收方不需同时在线,发送方接收方不需同时扩容(削峰)。
3、解耦:防止引入过多的API给系统的稳定性带来风险;调用方使用不当会给被调用方系统造成压力,被调用方处理不当会降低调用方系统的响应能力。
4、复用:一次发送多次消费
5、可靠:一次保证消息的传递。如果发送消息时接收者不可用,消息队列会保留消息,直到成功地传递它;
6、提供路由:发送者无需与接收者建立连接,双方通过消息队列保证消息能够从发送者路由到接收者,甚至对于本来网络不易互通的两个服务,也可以提供消息路由。
缺点:
- 系统可用性降低
- 系统复杂性增加
中间件对比:
转载于:https://my.oschina.net/markee/blog/3011912