阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Kafka入门初探+伪集群部署

447次阅读
没有评论

共计 2391 个字符,预计需要花费 6 分钟才能阅读完成。

Kafka 是目前非常流行的消息队列中间件,常用于做普通的消息队列、网站的活性数据分析(PV、流量、点击量等)、日志的搜集(对接大数据存储引擎做离线分析)。

全部内容来自网络,可信度有待考证!如有问题,还请及时指正。

概念介绍

在 Kafka 中消息队列分为三种角色:

  • producer,即生产者,负责产生日志数据。
  • broker,存储节点,负责按照 topic 中的 partition 分区,均匀分布式的存储分区。
  • consumer,即消费者,负责读取使用 broker 中的分区。

producer

Kafka 系统中的生产者,用于产生数据并发送给 broker 进行存储。由于需要与 broker 中的分区保持 socket 连接,因此需要在 zk 中维护生产者与分区 broker 的对应关系。同一个 topic 下的数据,会以某种负载均衡的方式发送到不同的分区中。

broker

Broker 可以当做 Kafka 中的存储节点,数据按照 topic 组织,按照某种负载均衡方式分配到不同的分区中。一个 Topic 由多个分区组成,每个分区可以设置备份数量。分区由一个 leader+ 多个 followers 组成,生产者直接与 leader 进行沟通,leader 接收消息后,其他的 followers 会同步这个消息。所有的 follwers 同步消息后,该消息才会成为可消费的状态。

Broker 中 Topic 与分区,分区与生产者,分区之间的选举备份等等信息都需要 ZK 进行协调。

consumer

Consumer 是 Kafka 中的消费者,通常以组的形式存在,一个 Group 会包含多个 Consumer。每个组对应一个 Topic,该 Topic 内的分区只能对应一个消费者,也就是如果消费者很多的情况下,会出现有的消费者消费不到数据;如果消费者很少的情况下,会有消费者同时消费多个分区的数据。

Kafka 仅仅会保证一个分区的消息的消费是有序的,多个分区并不保证有序性。

为了保证数据消费的可靠性,Kakka 提供了几种消费的机制:

  • 1 at most once,即消费数据后,保存 offset,就再也取不到这个数据了。
  • 2 at least once,即消费数据后,保存 offset,如果保存出错,下次可能还会取到该数据
  • 3 exactly once,待查阅

在 Kafka 中 offset 是由 consumer 维护的(实际可以由 zk 来完成)。这种机制有两个好处,

  • 一个是可以依据 consumer 的能力来消费数据,避免产生消费数据的压力;
  • 另一个就是可以自定义 fetch 消费的数据数目,可以一次读取 1 条,也可以 1 次读取 100 条。

topic

Kafka 中的数据的主题,所有的操作(如消息的存储和读取 \ 消费)都是依据 topic 完成。

partition

每个 Topic 由多个分区组成,每个分区内部的数据保证了有序性,即是按照时间序列,append 到分区的尾部。分区是有固定大小的,容量不够时,会创建新的分区。Kafka 在一定时间内会定期清理过期的文件。

这种连续性的文件存储,一方面有效的利用磁盘的线性存取;另一方面减轻了内存的压力。

zookeeper

在 Kafka 中很多节点的调度以及资源的分配,都要依赖于 zookeeper 来完成。
如:

  • 1 Broker 的注册,保存 Broker 的 IP 以及端口;
  • 2 Topic 注册,管理 broker 中 Topic 的分区以及分布情况
  • 3 Broker 的负载均衡,讲 Topic 动态的分配到 broker 中,通过 topic 的分布以及 broker 的负载判断
  • 4 消费者,每个分区的消息仅发送给一个消费者(不知道跟 zookeeper 有啥关系)
  • 5 消费者与分区的对应关系,存储在 zk 中
  • 6 消费者负载均衡,一旦消费者增加或者减少,都会触发消费者的负载均衡
  • 7 消费者的 offset,High level 中由 zk 维护 offset 的信息;Low Level 中由自己维护 offset

伪集群环境的搭建

部署伪集群环境,即单节点环境非常简单。下载部署文件,解压后,直接运行即可。

运行命令如下:

# 启动 zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties &  

# 启动 kafka
bin/kafka-server-start.sh config/server.properties &  

如果想要测试,可以启动测试程序:

# 启动生产者测试程序
./kafka-console-producer.sh --broker-list localhost:9092 --topic test

# 启动消费者测试程序
./kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

在生产者界面输入的内容,就可以直接在消费者界面中看到了。

分布式发布订阅消息系统 Kafka 架构设计 http://www.linuxidc.com/Linux/2013-11/92751.htm

Apache Kafka 代码实例 http://www.linuxidc.com/Linux/2013-11/92754.htm

Apache Kafka 教程笔记 http://www.linuxidc.com/Linux/2014-01/94682.htm

Apache kafka 原理与特性(0.8V)  http://www.linuxidc.com/Linux/2014-09/107388.htm

Kafka 部署与代码实例  http://www.linuxidc.com/Linux/2014-09/107387.htm

Kafka 介绍和集群环境搭建  http://www.linuxidc.com/Linux/2014-09/107382.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-08/133909.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2391字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19356
评论数
4
阅读量
8277930
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
欧洲无限速云盘免费10GB永久存储 + WebDAV部署+图床搭建,多平台联动一步到位!

欧洲无限速云盘免费10GB永久存储 + WebDAV部署+图床搭建,多平台联动一步到位!

欧洲无限速云盘免费 10GB 永久存储 + WebDAV 部署 + 图床搭建,多平台联动一步到位! 大家好,我...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
云服务器部署OpenClaw:轻量应用服务器+钉钉和QQ机器人

云服务器部署OpenClaw:轻量应用服务器+钉钉和QQ机器人

  云服务器部署 OpenClaw:轻量应用服务器 + 钉钉和 QQ 机器人 一、前言 最近开源圈爆...