zoukankan      html  css  js  c++  java
  • kafka基本信息介绍

    kafka特点

    分布式
    • 多分区
    • 多副本
    • 多订阅者:注:订阅者的数量<=partition的数量
    • 基于zookeeper的调度
    高性能
    • 高吞吐量
    • 高并发
    • 低延迟
    • 时间复杂度为O(1)
    持久性和扩展性
    • 数据可持久性
    • 容错性
    • 支持在线水平扩展(topic有1或多的partition;consumer group的划分;服务器增加,也就是broker增加)
    • 消息自动平衡(避免服务端消息过于集中在某几个服务器,数据导致频繁访问这几台服务器,从而产生热点问题;通过消息在服务器间的平衡和消费者订阅时连接的平衡实现)

    kafka应用场景

    • 消息队列
    • 行为跟踪
    • 元信息监控
    • 日志收集(elk等)
    • 流处理
    • 事件源
    • 持久性日志

    结构图

    kafka提供了四类API

     

    kafka作为消息队列的数据运作流程:

    kafka依赖于zookeeper:
    1、broker信息 存在zookeeper中
    2、topic和partition的分布,也存在zookeeper上
    zookeeper通过订阅kafka的消息,来获取到kafka信息的变更通知
     

    kafka的消息结构

    offset:消息的偏移量
    length:消息的长度
    CRC32: 校验信息的完整性,避免信息消费的不完整性导致生产或消费失败
    magic:是一个固定的数字,kafka通过这个字段,可以快速判断是不是kafka消息
    attribute:可选,一位,放当前消息的属性,枚举型
    timestamp:时间戳
    key length:key长度
    key:key的值
    value length:value的长度
    value:value的值
  • 相关阅读:
    截取表单提交的字符串信息转换成对象 -- 前端面试题(一)
    HTML5 简单归纳 -- 前端知识 (二)
    02_安装Linux
    01_Linux 简介
    Mysql学习笔记八:Mysql操作
    Mysql学习笔记七:常用SQL语句
    Mysql学习笔记六:事务
    Mysql学习笔记五:修改
    Mysql学习笔记四:查询
    Mysql学习笔记二:主键、外键
  • 原文地址:https://www.cnblogs.com/starstarstar/p/9665202.html
Copyright © 2011-2022 走看看