消息队列简介
一、为什么要用消息队列
1、解耦
2、冗余
3、扩展性
4、灵活性&峰值处理能力
5、可恢复性
6、送达保证
7、顺序保证
8、缓冲
9、异步通信
二、常用的消息队列
RabbitMQ:优点:支持协议多,例如AMQP,XMPP,SMTP,STOMP。对路由,负载均衡或者数据持久化有很好的支持。
Redis:优点:轻量级,读写性能优异。
ZeroMQ:号称最快的消息队列系统,尤其针对大吞吐量的需求场景。
ActiveMQ:ActiveMQ是Apache下的一个子项目。类似于ZeroMQ,他能够以代理人和点对点的技术实现队列。
Kafka:Kafka是Apache下的一个子项目,是一个高性能跨语言分布式发布/订阅消息队列系统。特性:快速持久化、高吞吐量、完全分布式系统、自动实现负载均衡。