kafka 核心技术实战(三)

Kafka 简介

  • Apache Kafka是消息引擎系统,也是一个分布式流处理平台(Distributed Streaming Platform)。
  • Kafka 社区将其清晰地定位为一个分布式、分区化且带备份功能的提交日志(Commit Log)服务。
  • Kafka 在设计之初就旨在提供三个方面的特性:
    • 提供一套 API 实现生产者和消费者;
    • 降低网络传输和磁盘存储开销;
    • 实现高伸缩性架构。
  • 简单来说,如果需要快速地搭建消息引擎系统,或者需要搭建的是多框架构成的数据平台且 Kafka 只是其中一个组件,那么推荐使用大数据云公司提供的 Kafka。
    • Apache Kafka,也称社区版Kafka。优势在于迭代速度快,社区响应度高,使用它可以让你有更高的把控度;缺陷在于仅提供基础核心组件,缺失一些高级的特性。
    • Confluent Kafka,Confluent公司提供的Kafka。优势在于集成了很多高级特性且由Kafka原班人马打造,质量上有保证;缺陷在于相关文档资料不全,普及率较低,没有太多可供参考的范例。
    • CDH/HDP Kafka,大数据云公司提供的Kafka,内嵌Apache Kafka。优势在于操作简单,节省运维成本;缺陷在于把控度低,演进速度较慢。

Kafka 的版本号

  • 对于 kafka-2.11-2.1.1 的提法,真正的Kafka版本号实际上是 2.1.1。
    • 前面的 2 表示大版本号,即 Major Version;
    • 中间的 1 表示小版本号或次版本号,即 Minor Version;
    • 最后的 1 表示修订版本号,也就是 Patch 号。
  • Kafka从 0.7 时代演进到 0.8 之后正式引入了副本机制,至此Kafka成为了一个真正意义上完备的分布式高可靠消息队列解决方案。有了副本备份机制,Kafka就能够比较好地做到消息无丢失。
  • 2015 年 11 月,社区正式发布了 0.9.0.0 版本。
    • 这是一个重量级的大版本更迭,0.9 大版本增加了基础的安全认证/权限功能,同时使用 Java 重写了新版本消费者 API,另外还引入了 Kafka Connect 组件用于实现高性能的数据抽取。
    • 这个版本的另一个好处就是新版本 Producer API 在这个版本中算比较稳定了。
  • 2017 年 6 月,社区发布了 0.11.0.0 版本,引入了两个重量级的功能变更:一个是提供幂等性Producer API 以及事务(Transaction) API;另一个是对 Kafka 消息格式做了重构。

你可能感兴趣的:(大数据开发基础,kafka,java,分布式)