【布客】kafka 中文翻译

入门

  1. 事件流是以事件流形式从数据库、传感器、移动设备、云服务和软件应用程序等事件源实时捕获数据的实践。
  2. 可以实时跟踪和监测汽车、物流等,可以持续捕获和分析来自物联网或其他设备的传感器数据。
  3. 三个 关键功能
    1. 发布和订阅事件流
    2. 持久可靠地存储事件流
    3. 在事件发生时或回顾性处理事件流
  4. Kafka是如何工作的?Kafka是一个分布式系统,由通过高性能TCP网络协议进行通信的服务器客户端组成。它可以部署在本地和云环境中的裸机硬件、虚拟机和容器上。
  5. 主要概念和术语:
    1. 生产者是将事件写入到Kafka的客户端应用程序,而消费者是订阅这些事件的客户端应用程序。彼此完全解耦且互不可知,高可扩展性的关键设计元素。
    2. 主题(事件存储并持久化的地方),事件在使用后不会被删除,你可以通过每个主题的配置来定义kafka应保留事件的事件,之后旧事件将被丢弃。不论数据有多大,性能恒定。主题是分区的。

设计

  1. 动机:充当统一平台来处理大公司可能拥有的所有实时数据源。
    1. 高吞吐量支持大容量事件流
    2. 妥善处理大量积压数据
    3. 处理低延迟交付
    4. 机器故障时保证容错
  2. 持久化
    1. 创新点
      1. 顺序IO可以接近网络速度
      2. 依靠OS缓存比自行管理更高效
      3. 简单追加日志的O(1)操作在磁盘上表现最佳
    2. 优势:允许长时间保留消息,而传统系统通常在消费后立即删除。为消费者提供更大灵活性(如重新消费、新消费者加入等)。
  3. 效率(如何实现高效处理数据?)
    1. 批量处理(批处理是核心优化)
    2. 零拷贝技术(减少数据复制)
    3. 智能缓存
    4. 压缩传输(省带宽)