更新时间:2021年10月06日10时59分 来源:传智教育 浏览次数:
Apache Kafka是一个分布式流平台。一个分布式的流平台应该包含3点关键的能力:
1. 发布和订阅流数据流,类似于消息队列或者是企业消息传递系统
2. 以容错的持久化方式存储数据流
处理数据流
英文原版
 Publish and subscribe to streams of records, similar to a message queue or enterprise 
messaging system.
 Store streams of records in a fault-tolerant durable way.
 Process streams of records as they occur.


1. Linkedin还是挺牛逼的
Kafka比ActiveMQ牛逼得多
前面我们了解到,消息队列中间件有很多,为什么我们要选择Kafka?
| 特性 | ActiveMQ | RabbitMQ | Kafka | RocketMQ | 
| 所属社区/公司 | Apache | Mozilla Public License | Apache | Apache/Ali | 
| 成熟度 | 成熟 | 成熟 | 成熟 | 比较成熟 | 
| 生产者-消费者模式 | 支持 | 支持 | 支持 | 支持 | 
| 发布-订阅 | 支持 | 支持 | 支持 | 支持 | 
| REQUEST-REPLY | 支持 | 支持 | - | 支持 | 
| API完备性 | 高 | 高 | 高 | 低(静态配置) | 
| 多语言支持 | 支持JAVA优先 | 语言无关 | 支持,JAVA优先 | 支持 | 
| 单机呑吐量 | 万级(最差) | 万级 | 十万级 | 十万级(最高) | 
| 消息延迟 | - | 微秒级 | 毫秒级 | - | 
| 可用性 | 高(主从) | 高(主从) | 非常高(分布式) | 高 | 
| 消息丢失 | - | 低 | 理论上不会丢失 | - | 
| 消息重复 | - | 可控制 | 理论上会有重复 | - | 
| 事务 | 支持 | 不支持 | 支持 | 支持 | 
| 文档的完备性 | 高 | 高 | 高 | 中 | 
| 提供快速入门 | 有 | 有 | 有 | 无 | 
| 首次部署难度 | - | 低 | 中 | 高 | 
