MQ的作用
几乎所有的消息队列都满足以下特点,你说巧不巧!!!
优点:
1.应用解耦(使用场景)
2.削峰填谷(使用场景)
3.异步处理(使用场景)
缺点:
1.系统可用性降低: 系统引入外部依赖越多,稳定性越差
2.复杂度提高: 系统之前是同步调用,引入MQ实现异步调用
3.一致性问题: 多个系统分布式协作,要保证消息数据处理的一致性
对比
根据各大主流消息队列的特点我们在做技术选型的时候可以做个参考
特性 | Active MQ | Rabbit MQ | Rocket MQ | Kafka |
---|---|---|---|---|
开发语言 | Java | erlang | Java | scala |
单机吞吐量 | 万级 | 万级 | 十万级 | 十万级 |
时效性 | ms级 | us级 | ms级 | ms级以内 |
可用性 | 高(主从架构) | 高(主从架构) | 非常高(分布式架构) | 非常高(分布式架构) |
功能特性 | 成熟的产品;很多公司都在使用;有较多文档;各种协议支持较好 | 基于erlang开发并发能力强;性能极好;延时低;管理界面丰富 | 功能完备;拓展性价 | 只支持主要MQ功能,在大数据领域应用较广 |
后续会根据博主的学习进度持续更新,如果对您有帮助的话点个赞再走呗!