【布客】kafka 中文翻译
入门
- 事件流是以事件流形式从数据库、传感器、移动设备、云服务和软件应用程序等事件源实时捕获数据的实践。
- 可以实时跟踪和监测汽车、物流等,可以持续捕获和分析来自物联网或其他设备的传感器数据。
- 三个 关键功能
- 发布和订阅事件流
- 持久可靠地存储事件流
- 在事件发生时或回顾性处理事件流
- Kafka是如何工作的?Kafka是一个分布式系统,由通过高性能TCP网络协议进行通信的服务器和客户端组成。它可以部署在本地和云环境中的裸机硬件、虚拟机和容器上。
- 主要概念和术语:
- 生产者是将事件写入到Kafka的客户端应用程序,而消费者是订阅这些事件的客户端应用程序。彼此完全解耦且互不可知,高可扩展性的关键设计元素。
- 主题(事件存储并持久化的地方),事件在使用后不会被删除,你可以通过每个主题的配置来定义kafka应保留事件的事件,之后旧事件将被丢弃。不论数据有多大,性能恒定。主题是分区的。
设计
- 动机:充当统一平台来处理大公司可能拥有的所有实时数据源。
- 高吞吐量支持大容量事件流
- 妥善处理大量积压数据
- 处理低延迟交付
- 机器故障时保证容错
- 持久化
- 创新点
- 顺序IO可以接近网络速度
- 依靠OS缓存比自行管理更高效
- 简单追加日志的O(1)操作在磁盘上表现最佳
- 优势:允许长时间保留消息,而传统系统通常在消费后立即删除。为消费者提供更大灵活性(如重新消费、新消费者加入等)。
- 效率(如何实现高效处理数据?)
- 批量处理(批处理是核心优化)
- 零拷贝技术(减少数据复制)
- 智能缓存
- 压缩传输(省带宽)