什么是消息队列?
消息队列就是用于不同系统 不同服务之间异步地传递信息,就是不用生产者和消费者同时在线或者直接连接,消息存储在队列中,直到消费者准备处理
消息队列的核心概念:
生产者:发送消息的一方
消费者:处理消息的一方
队列:存储队列的一方
优点:
1解耦:
生产者和消费者之间不需要彼此依赖,不需要同时在线或者直接连接,这就是解耦
2.容错性:就是说消费者处理消息失败之后,那么消息队列还会再发一次,或者让别的消息者进行处理,这样就增强了鲁棒性
3.异步通信
消费者和生产者不需要直接连接或者同时在线
4.负载均衡:
消息队列根据不同消费者的处理情况,对每个消费者进行消息分发,从而达到了负载均衡的效果
5.确保消息传递,根据各种确认机制和持久化选项,使得每个消息至少被处理一次,其确定一个消息只被处理一次,从而确保消息被传递
其代表:
RabbitMQ
Kafka
Amazon SQS
Microsoft Azure Queue Storage