Kafka学习笔记(一)—KafKa简介

一、什么是KafKa?

官网介绍:

Kafka is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of companies
Kafka用于构建实时数据管道和流应用程序。 它具有水平可扩展性,容错性,快速性,并在数千家公司的生产中运行。

Kafka 是 LinkedIn 公司内部孵化的项目

  • 分布式消息引擎系统
  • 分布式流处理平台 (Kafka Streams 未来的发展方向)

二、Kafka特点

  • 高吞吐量。在非常廉价的商用机器上也能做到单机支持每秒10W条以上消息的传输

  • 分布式。Kafka明确支持在Kafka服务器上的消息分区,以及在消费机器集群上的分发消费,维护每个分区的排序语义

  • 多客户端支持:Kafka系统支持与来自不同平台(如java、.NET、PHP、Ruby或Python等)的客户端相集成

  • 持久化。将消息持久化到磁盘,因此可用于批量消费,例如ETL,以及实时应用程序。通过将数据持久化到硬盘以及replication防止数据丢失

  • 可扩展性。kafka使用zookeeper来实现动态的集群扩展,不需要更改客户端(producer和consumer)的配置。broker会在zookeeper注册并保持相关的元数据(topic,partition信息等)更新。而客户端会在zookeeper上注册相关的watcher

三、Kafka版本演进

  • 0.7 只提供基础的消息队列功能
  • 0.7 到 0.8 ,正式引入了副本机制
  • 0.8.2.0 版,引入新版本Producer API,即需要指定Broker地址的Producer
  • 0.8.2.2.2,稳定版本,建议使用老版本Produce API,新版Bug较多
  • 0.9.0.0,增加了基础的安全认证/权限功能,新版本的Producer API趋于稳定,不要使用新版的Consumer API
  • 0.10.0.0,里程碑式的大版本,引入了Kafka Streams,作为消息引擎并没有功能更新
  • 0.10.2.2,推荐使用大版本中该小版本,新版Consumer API稳定,可以使用
  • 0.11.0.0,提供幂等性的Produce API和事务(Transaction)API,对消息格斯重构,目前最主流的版本之一
  • 0.11.0.3,建议使用,消息引擎的功能趋于完善
  • 1.0和2.0版本,主要对Kafka Streams进行改进
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值