消息中间件

    RabbitMQ:采用Erlang语言实现的AMQP协议的消息中间件,最初起源于金融系统,用于在分布式系统中存储转发消息,它在可靠性、可用性、扩展性、功能丰富等方面表现良好
    Kafka:采用Scala语言开发的一个分布式、多分区、多副本且基于zookeeper协调的分布式消息系统,它是一种高吞吐量的分布式发布订阅消息系统,以可水平扩展和高吞吐率而被广泛使用
    RocketMQ:是阿里开源的消息中间件,它是由Java语言开发的,具备高吞吐量、高可用性、适合大规模分布式系统应用等特点


消息选型因素:
        功能维度:优先级队列、延迟队列、重试队列、消费模式、消息堆积+持久化、消息过滤、跨语言支持等,功能维度是消息中间件选型中的一个重要的参考维度
        性能:消息中间件的性能一般是指其吞吐量,虽然从功能维度上来说RabbitMQ的优势要大于Kafka,但是Kafka的吞吐量要比RabbitMQ高,一般RabbitMQ的单机QPS在万级别之内,而Kafka的单机QPS可以维持在十万级别
        可靠性+可用性:消息丢失是使用消息中间件时所不得不面对的一个同点,其背后消息可靠性也是衡量消息中间件好坏的一个关键因素,对于Kafka而言,其采用的是类似PacificA的一致性协议,通过ISR来保证多副本之间的同步,并且支持强一致性语义,RabbitMQ是通过镜像环形队列实现多副本及强一致性语义的,多副本可以保证在master节点宕机异常之后可以提升slave作为新的master而继续提供服务来保障可用性

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值