Kafka与其他MQ对比
来源:互联网 发布:c语言并查集简单例题 编辑:程序博客网 时间:2024/05/25 01:35
与其他MQ相比较,Kafka有一些优缺点,主要如下,
优点:
- 可扩展。Kafka集群可以透明的扩展,增加新的服务器进集群。
- 高性能。Kafka性能远超过传统的ActiveMQ、RabbitMQ等,Kafka支持Batch操作。
- 容错性。Kafka每个Partition数据会复制到几台服务器,当某个Broker失效时,Zookeeper将通知生产者和消费者从而使用其他的Broker。
缺点:
- 重复消息。Kafka保证每条消息至少送达一次,虽然几率很小,但一条消息可能被送达多次。
- 消息乱序。Kafka某一个固定的Partition内部的消息是保证有序的,如果一个Topic有多个Partition,partition之间的消息送达不保证有序。
- 复杂性。Kafka需要Zookeeper的支持,Topic一般需要人工创建,部署和维护比一般MQ成本更高。
RabbitMQ
遵循AMQP实现,传统的messaging queue系统实现,基于Erlang语言开发,用在对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量还在其次。支持协议还包括XMPP、SMTP、STOMP,是一款重量级MQ,更适合于企业级的开发。实现Broker构架,消息在发送给客户端时先在中心队列排队。对路由、负载均衡及数据持久化都有良好的支持。
ZeroMQ
只是一个网络编程的Pattern库,将常见的网络请求形式模式化、组件化。ZeroMQ能实现RabbitMQ不擅长的高级复杂队列,但开发人员需要自己组合多种技术框架,技术复杂度是一个挑战。仅提供非持久性的队列,如果Down机,数据将丢失。
Redis
Key-Value的NoSQL数据库,本身也支持MQ功能,可以完全当做一个轻量级的队列使用。Redis在数据量大的时候入队较慢,Redis出队则无论数据量大小性能都不错。
Kafka
LinkedIn开源的MQ系统,基于Pull的模式来处理消息消费,追求高吞吐量,一开始的目的是用于日志收集和传输,0.8开始支持复制,不支持事务,适合产生大量数据的互联网服务的数据收集业务。
转载自:http://blog.csdn.net/Post_Yuan/article/details/52404417?locationNum=9
阅读全文
0 0
- Kafka与其他MQ对比
- Kafka与其他消息组件对比
- Kafka对比其他MQ
- vue对比与其他框架
- 流程图与其他图表的对比
- curl与其他下载工具特性对比
- Java与其他语言的对比
- Bluemix使用与其他云平台对比
- laravel框架与其他框架的对比
- MQ选型对比RabbitMQ RocketMQ ActiveMQ Kafka
- MQ选型对比RabbitMQ RocketMQ ActiveMQ Kafka
- MQ选型对比RabbitMQ RocketMQ ActiveMQ Kafka
- MQ选型对比RabbitMQ RocketMQ ActiveMQ Kafka
- MQ选型对比RabbitMQ RocketMQ ActiveMQ Kafka
- MQ与kafka之间的对比
- MQ选型对比RabbitMQ RocketMQ ActiveMQ Kafka
- MQ选型对比RabbitMQ RocketMQ ActiveMQ Kafka
- MQ选型对比RabbitMQ RocketMQ ActiveMQ Kafka
- Oracle数据库中进行树形查询sql
- 父类使用<T>泛型 并通过注入方式 获取到实体类型
- 在MyEclipse快速搭建Hibernate
- 偏向锁,轻量级锁,自旋锁,重量级锁的详细介绍
- 生平第一章:关于android中的canvas的restore和save
- Kafka与其他MQ对比
- Android ADB wifi插件安装及命令行链接。附: ADB命令大全
- 如何在C++中使用cout进行高级的格式化输出操作
- Geowebcache发布ArcGIS切片的配置笔记
- 第十三章:事件类型(鼠标与滚轮事件)
- Android BroadcastReceiver 动态与静态注册
- jQuery中 html(),text(),val()的区别
- SpringMVC的工作流程
- SO抬头信息增强