内容来源:https://www.cnblogs.com/qingyunzong/p/9004509.html

1.2 消息系统介绍

一个消息系统负责将数据从一个应用传递到另外一个应用,应用只需关注于数据,无需关注数据在两个或多个应用间是如何传递的。分布式消息传递基于可靠的消息队列,在客户端应用和消息系统之间异步传递消息。有两种主要的消息传递模式:点对点传递模式、发布-订阅模式。大部分的消息系统选用发布-订阅模式。Kafka就是一种发布-订阅模式

1.3 点对点消息传递模式

1、生产者发送一条消息到queue

2、一条消息只能被消费一次。当一个消费者消费了队列中的某条数据之后,该条数据则从消息队列中删除

3、即使有多个消费者同时消费数据,也能保证数据处理的顺序

1.4 发布-订阅消息传递模式

1、发布者发送到topic的消息

2、消费者可以订阅一个或多个topic,

3、同一条数据可以被多个消费者消费,数据被消费后不会立马删除

四、Kafka中的术语解释

4.2 broker

Kafka 集群包含一个或多个服务器,服务器节点称为broker。

broker存储topic的数据。1、topic中的最小单位是partition;2、每个broker中存储一个或多个partition;3、partition在broker中尽量均匀分部。

4.3 Topic和partition

每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)

topic中的数据分割为一个或多个partition。每个topic至少有一个partition。每个partition中的数据使用多个segment文件存储。

partition中的数据是有序的,不同partition间的数据是无序的。

在需要严格保证消息的消费顺序的场景下,需要将partition数目设为1。

4.7 Leader

每个partition有多个副本,其中有且仅有一个作为Leader,Leader是当前负责数据的读写的partition。

4.8 Follower

Follower跟随Leader,所有写请求都通过Leader路由,数据变更会广播给所有Follower,Follower与Leader保持数据同步。如果Leader失效,则从Follower中选举出一个新的Leader。当Follower与Leader挂掉、卡住或者同步太慢,leader会把这个follower从“in sync replicas”(ISR)列表中删除,重新创建一个Follower。

1.2   Kafka的使用场景:
Kakfa Broker集群受Zookeeper管理

所有的Kafka Broker节点一起去Zookeeper上注册一个临时节点,因为只有一个Kafka Broker会注册成功,其他的都会失败,所以这个成功在Zookeeper上注册临时节点的这个Kafka Broker会成为Kafka Broker Controller,其他的Kafka broker叫Kafka Broker follower。

kafka消息中间件-学习笔记相关推荐

  1. 尚硅谷Kafka框架学习笔记

    视频地址:https://www.bilibili.com/video/BV1a4411B7V9 笔记资料:链接: https://pan.baidu.com/s/17XOeCBYdyfNqWJPxb ...

  2. 《Apache Kafka》学习笔记

    1.什么是Kafka Kafka是一个高通过率的分布式消息系统 2.消息队列(Message Queue)MQ的模型 消息队列的简单架构图 3个核心概念: Sender Application:消息队 ...

  3. kafka streams学习笔记

    流式处理 流式处理是利用连续计算来处理无限数据流的能力,因为数据流是流动的.所以无须收集或存储数据以对其进行操作 这个弹珠图是流式处理的一个简单表示.图中每个圆圈代表某一特定时间点的某些信息或发生的事 ...

  4. Kafka入门篇学习笔记整理

    Kafka入门篇学习笔记整理 Kafka是什么 Kafka的特性 应用场景 Kafka的安装 单机版部署 集群部署环境准备 Kafka 2.x集群部署 Kafka 3.x集群部署 监听器和内外网络 K ...

  5. Kafka学习笔记(一):什么是消息队列?什么是Kafka?

    目录 一.消息队列的概述 (一)前置知识点 1.集群和分布式 2.队列(Queue)的含义 3.同步与异步的含义 (二)消息队列的含义与特点 二.Kafka (一) 概述 (二) 常用名词含义 导航栏 ...

  6. 大数据 -- kafka学习笔记:知识点整理(部分转载)

    一 为什么需要消息系统 1.解耦 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险.许多 ...

  7. Kafka学习笔记(3)----Kafka的数据复制(Replica)与Failover

    1. CAP理论 1.1 Cosistency(一致性) 通过某个节点的写操作结果对后面通过其他节点的读操作可见. 如果更新数据后,并发访问的情况下可立即感知该更新,称为强一致性 如果允许之后部分或全 ...

  8. kafka学习笔记(四) --- 压缩算法面面观

    kafka中,压缩,说白了就是,以较少的CPU开销去换更少的磁盘占用或更少的网络I/O传输. 怎么压缩 kafka的消息格式分为两种,社区分别成为V1版本和V2版本,V2版本是在0.11.0.0中正式 ...

  9. sheng的学习笔记-kafka框架原理

    目录 环境搭建 下载安装包 修改配置文件 启动服务 创建topic 生产消息 消费消息 代码 maven配置 kafka的生产者代码 消费者代码 基础知识 主题TOPIC: 单播和多播 单播消息: 多 ...

最新文章

  1. 基于 Redis 的分布式锁到底安全吗?
  2. 语义化,让你的网页更好的被搜索引擎理解
  3. 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历(BFS)
  4. 图片轮播器,relativelayout,外加textview小结
  5. Python Flask服务同时接收单个、多个上传的文件
  6. python更改数据框指定位置的数据_python-如何使用来自另一个数据框的新值更新pyspark数据框?...
  7. 导入项目jsp文件报错,但打开相应的文件并没有错误解决办法
  8. 分享好用的Mac系统的FTP工具和SHELL工具
  9. Ubuntu18.04、Ubuntu20.04之ROS安装教程
  10. 横向合计代码 锐浪报表_报表开发常见问题解答 - 锐浪报表工具
  11. java游戏管理器 闪退_手游频繁崩溃”闪退”? 从程序上找原因
  12. CSS 多列等高的几种实现方式
  13. 十三、买空卖空、融资融券、配资与杠杆
  14. 圆角装饰条_护角条是圆角好还是直角好
  15. C/C++语言100题练习计划 84——分数线划定(结构体+快排函数)
  16. 她等待刀尖已经太久--茨维塔耶娃诗抄
  17. 注册Netgear DDNS账号的操作
  18. 如何使用统计显着性检验来解释机器学习结果
  19. linux内核 社区,明尼苏达大学Linux内核“伪装者提交”研究人员发表公开信
  20. 显示器的秘密武器——主流显示器工厂模式进入方法全析

热门文章

  1. 【FaceBook系列二】再见了,Facebook_scraper?Python的session请求获取Facebook的群组数据。
  2. 使用新版webstorm和Chrome配合,实现实时刷新,可以边写代码边看效果
  3. 软件设计师——数据流图设计(下午试题一)
  4. 如何使用flatMap
  5. ACM练级日志:Level 3的线段树标记下传
  6. ACM练级日志: CodeForces 414C 归并排序、逆序数和栈内存
  7. nagios利用snmp监控路由器端口状态问题
  8. java解压,压缩.gz文件
  9. 给大家推荐一款免费虚拟主机 优豆云
  10. linux系统中socket错误码:EINTR和EAGAIN的处理