kafka理论

  1. 面向实时、可以发布和订阅、处理持续数据流的平台
  2. 以集群的方式运行
  3. 具备低延迟
  4. kaka的数据单元被称为消息,即数据库中的一条数据
  5. schema为消息模式,Avro提供紧凑的数据化格式,模式和消息体是分开的
  6. kafka的消息通过topic进行分类,一个topic的消息可以保存在多个分区(partition)上,单分区消息先入先出,一个分区的消息只能被一个消费者消费,但是一个消费者可以消费多个分区的数据
  7. 生产者和消费者均属于客户端
  8. 偏移量offset,消费者通过偏移量来区分已经读取过的消息,每个消息的偏移量都是唯一的,消费者把每个分区的偏移量保存在zookeeper或kafka上
    在这里插入图片描述
  9. 一个独立的kafka服务器被称为broker,多个broker组成一个kafka集群,一个分区可以从属于多个broker;同时broker可扩。
  10. kafka的Mirror Maker工具可以实现kafka多集群之间的消息复制
  11. kafka可以无缝支持多个生产者和多个消费者,kafka支持多个消费者共享同一个topic上的数据流,不会造成单客户端消费后其他客户端再无法读取的情况
  12. kafka基于磁盘的数据存储,根据设置的消息保存规则进行保存,可以允许消费者非实时的服务消息
  13. 数据生态系统使用场景:①活动跟踪 ②传递消息 ③度量指标和日志记录 ④提交日志 ⑤流处理
    在这里插入图片描述
  14. topic的自动创建场景:①生产者往topic写入数据时 ②消费者从topic读取消息时 ③生产者或消费者向topic发送元数据请求时
  15. produce - 作为生产者,向kafka提交一条数据
    {
    “topic”: // 生产的消息发送到kafka的哪个topic上
    “message”: // 生产的消息内容
    }
    consume - 作为消费者,从Kakfa上消费一条数据,首次消费topic和group不存在时会自动创建
    {
    “group”: // 以哪个组id从kafka上消费数据
    “topic”: // 从kafka的哪个topic上消费数据
    }
  16. kafka和redis一起使用,加redis可以缩短服务A的请求时间,增加kafka节点,可以解决服务A和B之间的紧密耦合
    在这里插入图片描述

kafka的部署

  1. linux安装java环境、zookeeper、kafka… 未完待续
Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐