首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Kafka实战解惑(1)

Kafka实战解惑(1)

目录一、 kafka简介
二、 Kafka架构方案
三、 Kafka安装
四、 Kafka Client API
  4.1 Producers API
  4.2 Consumers API
  4.3 消息高可靠 At-Least-Once
  4.4 消息高可靠Consumer
  4.5 生产者、消费者总结
五、 Kafka运维
  5.1 Broker故障切换
  5.2 Broker动态扩容
  5.2.1 增加分区
  5.2.2 增加Broker Server
  5.3 Kafka配置优化
  5.4 数据清理
  5.4.1 数据删除
  5.4.2 数据压缩
  5.5 Kafka运行监控
六、Kafka其他组件](#c6)
  6.1 Kafka Connect
  6.2 Kafka Stream
  6.3 Kafka Camus
七、 Kafka典型应用场景
  7.1 ETL
八、 参考资料
一、Kafka简介Kafka是LinkedIn使用scala开发的一个分布式消息系统,它以水平扩展能力和高吞吐率著称,被广泛用于日志处理、ETL等应用场景。Kafka具有以下主要特点:
  • 同时为发布和订阅提供高吞吐量。据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)。
  • 可进行持久化操作。将消息持久化到磁盘,因此可用于批量消费,例如ETL以及实时应用程序。通过将数据持久化到硬盘以及replication防止数据丢失。
  • 分布式系统,易于向外扩展。所有的producer、broker和consumer都会有多个,均为分布式的,无需停机即可扩展机器。
  • 消息被处理的状态由消费者同步到zookeeper而非broker server中,当broker server失效时,通过副本切换机制选择一个新的broker server,消费者从zookeeper中读取之前消费消息的位置,不会引起消息丢失。
  • 支持online和offline的场景。
LinkedIn有个三人小组出来创业了—正是当时开发出Apache Kafka实时信息列队技术的团队成员,基于这项技术Jay Kreps带头创立了新公司Confluent。Confluent的产品围绕着Kafka做的,与Kafka相比,Confluent包含了更多的组件:
  • Confluent Control Center(闭源)。管理和监控Kafka最全面的GUI驱动系统
  • Confluent Kafka Connectors(开源)。连接SQL数据库/Hadoop/Hive
  • Confluent Kafka Clients(开源)。对于其他编程语言,包括C/C++,Python
  • Confluent Kafka REST Proxy(开源)。允许一些系统通过HTTP和Kafka之间发送和接收消息。
  • Confluent Schema Registry(开源)。帮助确定每一个应用使用正确的schema当写数据或者读数据到Kafka中。
返回列表