zoukankan      html  css  js  c++  java
  • kafka 简单理解

    1.kafka所采用的设计方式,盘子就是partition,每个人就是一个consumer,每个苹果就是一条message。办法三每个盘子中苹果的消费是有序的,而办法二的消费是完全无序的

    第二种方法:

    第三种方法:

    2.Partition的读和写

     我们知道topic下划分了多个partition,消息的生产和消费最终都是发生在partition之上。下图是一个三个partition的topic的读写示意

     我们先看右边的producer,可以看到写的时候,采用round-robin算法,轮询往每个partition写入。

    而在消费者端,每个consumer都维护一个offset值,指向的是它所消费到的消息坐标。

    我们先看group A的三个consumer,他们分别独立消费不同的三个partition。每个consumer维护了自己的offset。

    我们再看group B,可以看到两个group是并行消费整个topic,同一条消息会被不同group消费到。

    https://blog.csdn.net/liyiming2017/article/details/82805479

    https://zhuanlan.zhihu.com/p/60110741

    此处有如下知识点:

    1、每个partition都是有序的不可变的。

    2、Kafka可以保证partition的消费顺序,但不能保证topic消费顺序。

    3、无论消费与否,保留周期默认两天(可配置)。

    4、每个consumer维护的唯一元数据是offset,代表消费的位置,一般线性向后移动。

    5、consumer也可以重置offset到之前的位置,可以以任何顺序消费,不一定线性后移。
    ————————————————

    原文链接:https://blog.csdn.net/liyiming2017/java/article/details/82805479

  • 相关阅读:
    水波模拟算法
    火车调度问题
    讨论范式
    字符串编码传输
    意识的物质,物质的意识
    需求分析——项目日志管理系统
    委托揭秘
    [9]OCP:开放封闭原则
    NULL OBJECT 模式
    由《通用权限设计》而引发的随想
  • 原文地址:https://www.cnblogs.com/hixiaowei/p/12677360.html
Copyright © 2011-2022 走看看