zoukankan      html  css  js  c++  java
  • 消息中间件kafka与activeMQ、rabbitMQ、zeroMQ、rocketMQ的比较

    一、kafka

    1、不完全符合jms规范,注重吞吐量,类似udp 和 tcp

    2、一般做大数据吞吐的管道 我们现在的用途就是负责在各个idc之间通信

    3、量大对数据不是百分之百保证的,会有数据丢失,不是百分百送达(amq和rmq等有重发机制,而kafka没有);在吞吐量有提升 ,在这方面就得有牺牲, 所以kafka适合大数据量流转, 比如日志数据 比如用作统计的数据。

    二、activeMQ

    ActiveMQ居于两者之间,类似于ZemoMQ,它可以部署于代理模式和P2P模式。类似于RabbitMQ,它易于实现高级场景,而且只需付出低消耗。它被誉为消息中间件的“瑞士军刀”。

    三、rabbitMQ

    RabbitMQ是AMQP协议领先的一个实现,它实现了代理(Broker)架构,意味着消息在发送到客户端之前可以在中央节点上排队。此特性使得RabbitMQ易于使用和部署,适宜于很多场景如路由、负载均衡或消息持久化等,用消息队列只需几行代码即可搞定。但是,这使得它的可扩展性差,速度较慢,因为中央节点增加了延迟,消息封装后也比较大。

    四、zeroMQ

    ZeroMQ是一个非常轻量级的消息系统,专门为高吞吐量/低延迟的场景开发,在金融界的应用中经常可以发现它。与RabbitMQ相比,ZeroMQ支持许多高级消息场景,但是你必须实现ZeroMQ框架中的各个块(比如Socket或Device等)。ZeroMQ非常灵活,但是你必须学习它的80页的手册(如果你要写一个分布式系统,一定要阅读它)。

    五、rocketMQ(阿里官方指定消息中间件)

    RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。同时,广泛应用于多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、移动应用、手游、视频、物联网、车联网等。

    具有以下特点:      

    能够保证严格的消息顺序       

    提供丰富的消息拉取模式      

    高效的订阅者水平扩展能力      

    实时的消息订阅机制      

    亿级消息堆积能力

    总结

    1、性能小量小用什么都没有关系,性质是一样的,如果消息性能要求高,用rocketMQ与kafka可以更优,rocketMQ与kafka 比较就看技术选型了,各有利弊,看业务需要。

    2、activeMQ、rabbitMQ与 kafka、rocketMQ有很大的区别就是前2个只支持主从模式,后2个是分布式消息系统,支持分布式。

    3、持久化消息比较: zeroMq不支持,activeMq和rabbitMq都支持。

        持久化消息主要是指:MQ down或者MQ所在的服务器down了,消息不会丢失的机制。

    4、高并发

    从实现语言来看,RabbitMQ最高,原因是它的实现语言是天生具备高并发高可用的erlang语言。RabbitMQ、activeM、zeroMQ三者中,综合来看,RabbitMQ是首选。下面提供一篇文章,是淘宝使用RabbitMQ的心得,可以参看一些业务场景。

    7、kafka和RabbitMQ的比较

     1-RabbitMq比kafka成熟,在可用性上,稳定性上,可靠性上,RabbitMq超过kafka

     2-Kafka设计的初衷就是处理日志的,可以看做是一个日志系统,针对性很强,所以它并没有具备一个成熟MQ应该具备的特性

     3-Kafka的性能(吞吐量、tps)比RabbitMq要强,这篇文章的作者认为,两者在这方面没有可比性。

  • 相关阅读:
    Python爬虫入门教程 53-100 Python3爬虫获取三亚天气做旅游参照
    计算机大专学历,2019如何应届毕业薪水过万!
    Python爬虫入门教程 52-100 Python3爬虫获取博客园文章定时发送到邮箱
    Python爬虫入门教程 51-100 Python3爬虫通过m3u8文件下载ts视频-Python爬虫6操作
    Python爬虫入门教程 50-100 Python3爬虫爬取VIP视频-Python爬虫6操作
    nvm-windows
    如何进行 IIS Log 分析
    常用 Jenkins 配置
    Jenkins 插件安装问题
    常用 SQL Server 脚本
  • 原文地址:https://www.cnblogs.com/mxb0611/p/12143238.html
Copyright © 2011-2022 走看看