Kafka入门

一、Kafka简介

  1. Kafka是什么
    Apache Kafka 是一款开源的消息引擎系统。消息引擎系统是一组规范。企业利用这组规范在不同系统之间传递语义准确的消息,实现松耦合的异步式数据传递。
  2. 待传输消息的格式:使用的是纯二进制的字节序列,消息还是结构化的,只是在使用之前都要将其转换成二进制的字节序列。
  3. 传输协议:点对点模型、发布 / 订阅模型
  4. Kafka的分区和副本简介
    Kafka中的分区机制指的是将每个主题划分成多个分区(Partition),每个分区是一组有序的消息日志。生产者生产的每条消息只会被发送到一个分区中。
    生产者总是向领导者副本写消息,而消费者总是从领导者副本读消息。每个分区下可以配置若干个副本,其中只能有 1 个领导者副本和 N-1 个追随者副本。
  5. Kafka使用消息日志(Log)来保存数据,一个日志就是磁盘上一个只能追加写(Append-only)消息的物理文件。一个日志又进一步细分成多个日志段,消息被追加写到当前最新的日志段中,当写满了一个日志段后,Kafka 会自动切分出一个新的日志段,并将老的日志段封存起来。Kafka 在后台还有定时任务会定期地检查老的日志段是否能够被删除,从而实现回收磁盘空间的目的。
  6. 为什么Kafka不支持主从读写分离
    huxihx的回答

二、Kafka的发行版

  1. Apache Kafka,也称社区版 Kafka。优势在于迭代速度快,社区响应度高,使用它可以让你有更高的把控度;缺陷在于仅提供基础核心组件,缺失一些高级的特性。
  2. Confluent Kafka,Confluent 公司提供的 Kafka。优势在于集成了很多高级特性且由 Kafka 原班人马打造,质量上有保证;缺陷在于相关文档资料不全,普及率较低,没有太多可供参考的范例。
  3. CDH/HDP Kafka,大数据云公司提供的 Kafka,内嵌 Apache Kafka。优势在于操作简单,节省运维成本;缺陷在于把控度低,演进速度较慢。

三、Kafka的版本演进

  1. 0.7版本,最基础的消息队列功能
  2. Kafka 从 0.7 时代演进到 0.8 之后正式引入了副本机制,至此 Kafka 成为了一个真正意义上完备的分布式高可靠消息队列解决方案,这个版本需要指定 ZooKeeper 的地址。0.8.2.0 版本社区引入了新版本 Producer API,即需要指定 Broker 地址的 Producer。
  3. 0.9 大版本增加了基础的安全认证 / 权限功能,同时使用 Java 重写了新版本消费者 API,另外还引入了 Kafka Connect 组件用于实现高性能的数据抽取。
  4. 0.10.0.0 是里程碑式的大版本,因为该版本引入了 Kafka Streams。
  5. 0.11.0.0 版本,引入了两个重量级的功能变更:一个是提供幂等性 Producer API 以及事务(Transaction) API;另一个是对 Kafka 消息格式做了重构。
  6. 1.0 和 2.0 版本,这两个大版本主要还是 Kafka Streams 的各种改进。如果是 Kafka Streams 的用户,至少选择 2.0.0 版本。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值