zoukankan      html  css  js  c++  java
  • 消息列队组件的一些特性比较

    RabbitMQ
    基于AMQP实现,传统的messaging queue系统实现,基于Erlang。老牌MQ产品了。AMQP协议更多用在企业系统内,对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量还在其次。
    Kafka
    linkedin开源的MQ系统,主要特点是基于Pull的模式来处理消息消费,追求高吞吐量,一开始的目的就是用于日志收集和传输,0.8开始支持复制,不支持事务,适合产生大量数据的互联网服务的数据收集业务。
    ZeroMQ
    只是一个网络编程的Pattern库,将常见的网络请求形式(分组管理,链接管理,发布订阅等)模式化、组件化,简而言之socket之上、MQ之下。对于MQ来说,网络传输只是它的一部分,更多需要处理的是消息存储、路由、Broker服务发现和查找、事务、消费模式(ack、重投等)、集群服务等。
    NSQ
    基于Go语言的分布式实时消息平台,可用于大规模系统中的实时消息服务,并且每天能够处理数亿级别的消息,其设计目标是为在分布式环境下运行的去中心化服务提供一个强大的基础架构。 NSQ具有分布式、去中心化的拓扑结构,该结构具有无单点故障、故障容错、高可用性以及能够保证消息的可靠传递的特征。NSQ非常容易配置和部署,且具有最大的灵活性,支持众多消息协议。
    Redis
    是一个Key-Value的NoSQL数据库,虽然它是一个Key-Value数据库存储系统,但它本身支持MQ功能,比如Stack Overflow 使用列队特性与WebSocket结合推送消息与更新缓存策略。

    备注:除 RabbitMq、ActiveMQ、RocketMQ、KafKa、Pulsar 外,其他的消息系统还包括 NSQ(不提供多副本机制,默认不进行持久化)、EMQ、Kestrel(一般作为队列)、NATS(默认无持久化方案,需要用 NATS Streaming 和 Liftbridge 为 NATS 提供了持久化的、多副本的消息存储支持)等。

    REFER:
    https://taskqueues.com/#brokers
    https://github.com/apache/pulsar
    https://github.com/apache/kafka
    https://github.com/apache/rocketmq
    https://github.com/nsqio/nsq
    https://github.com/nats-io/nats-server

    NSQ:分布式的实时消息平台
    http://www.infoq.com/cn/news/2015/02/nsq-distributed-message-platform/
    Apache Kafka:下一代分布式消息系统
    http://www.infoq.com/cn/articles/apache-kafka
    Kafka是个奇葩!——Linkin论文学习笔记
    http://my.oschina.net/HardySimpson/blog/306761
    RabbitMQ和NSQ的一些特点的比较
    http://datastream.github.io/articles/mq-in-cloud
    RabbitMQ与Redis队列对比
    http://www.cnblogs.com/chinaboard/p/3819533.html
    【消息队列MQ】各类MQ比较
    http://blog.csdn.net/sunxinhere/article/details/7968886
    消息队列设计精要
    http://tech.meituan.com/mq-design.html

  • 相关阅读:
    hdu4829 带权并查集(题目不错)
    hdu4829 带权并查集(题目不错)
    洛谷 P1076 寻宝(模拟 && 剪枝)
    洛谷 P1981 表达式求值(模拟)
    洛谷 P2239 螺旋矩阵(模拟 && 数学)
    洛谷 P2118 比例简化(枚举)
    洛谷 P3956 棋盘(记忆化搜索)
    洛谷 P5018 对称二叉树(搜索)
    洛谷 P5016 龙虎斗(模拟)
    洛谷 P1563 玩具谜题(模拟)
  • 原文地址:https://www.cnblogs.com/Irving/p/5546809.html
Copyright © 2011-2022 走看看