DMQ消息中间件(一)

为了提高并发能力,一个topic以多个partition的方式分布到多个broker结点上,生产者producer发布消息后,他要发布到哪个partition,他是先到zookeeper上找到partition的主leader的位置,只将消息发布到主leader,从follower是同步主leader中的信息,kafka一般是pull的方式,等消费者根据他自己的速率来pull消息。单机吞吐量TPS百万级/秒,也是分布式架构,高并发,高可用,一段数据多个结点存储,少量机器宕机,不影响数据的使用。......
摘要由CSDN通过智能技术生成

我们使用消息中间件核心就是为了 解耦,异步,削峰平谷。我知道有4种,虽然之前项目都是用的kafka。

1、ActiveMq:较早的开源中间件,单机吞吐量万级,有性能瓶颈,适合吞吐量小的项目架构。

2、RocketMq:阿里开源的中间件。

优点:分布式架构,单机吞吐量十万级,支持高可用,高并发,每年双十一就可了解他的高可用了,那么大吞吐量都能支撑。

缺点:虽然开源,但是阿里有一套API没有开源,里面包含更好的一些优化,比如上游系统应用和下游mq解耦等,如果你新项目要实现,你需要修改大量代码。

3、RabbitMq:市面上很常见的中间件,轻量级的有路由器功能的中间件。

producer->路由器->队列->consumer,从而一对一还是广播,或者延时,死信队列等。

优点:前人踩过的坑很多,然后社区就比较丰富了,还有使用时候管理界面也是比较丰富。他的最大优点就是时效性高,因为RabbitMq是认为队列就是一个管道,所以不能在管道中停留太久。

缺点:性能有瓶颈,适合吞吐量小的架构。同样因为他认为是一个管道,所以他的消息堆积太多就会降低性能。

4、apache kafka。

优点:最大有点就是吞吐量高,他本身是为大数据准备的。单机吞吐量TPS 百万级/秒,也是分布式架构,高并发,高可用,一段数据多个结点存储,少量机器宕机,不影响数据的使用。

缺点:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值