搭建高可用消息队列

5 篇文章 0 订阅
1、消息队列
 (1)、使用消息队列的作用:解耦、异步、削峰
 (2)、使用消息队列的缺点:
         如果消息队列挂了,系统部分业务就异常了
         消息队列的异步会导致部分数据延迟
2、常用的消息队列对比
吞吐量延迟可靠性是否提供高可用是否可以分布式应用场景
RabbitMq万级微妙级一般高(主从模式)性能好、延迟低、适合中小型项目,但是不适合分布式扩展,吞吐量一般
RocketMQ万级毫秒级一般非常高(分布式)支持接口简单、吞吐量好、分布式扩展强、支持大规模topic、适合复杂的MQ业务
kafka十万级毫秒级一般非常高(分布式)支持吞吐量很好、可用性、可靠性高,但是只提供了简单的功能、当topic越多消息延迟越大
3、rabbitmq高可用

rabbitmq可以采用镜像集群模式去设置高可用,生产者的数据通过负载均衡到rabbitmq节点,每个节点的数据然后备份到其它节点,这样就可以实现高可用了,其中一个节点挂了,其它节点亦能提供服务。
但是此模式也有缺点:每个rabbitmq节点都要备份、都要复制数据,性能开销较大;节点无法扩容。
在这里插入图片描述

4、kafka分布式、高可用

kafka分布式: 每创建一个topic,这个topic可以划分成多个分区,每个分区可以存在于不同的broker上,每个分区就放一部分数据,这样就实现了分布式模式。topic的消息会被负载均衡分不到不同的分区上,每个分区在其他broker节点上也会备份了副本分区,这样就形成了高可用。
消费者: 通过消费组的模式去消费消息队列中的数据,每当消费者加入、退出消费组的时候也都会负载均衡到不同的分区上,每个分区只能给一个消费者消费,但是一个消费者可以消费多个分区的数据。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值