没有合适的资源?快使用搜索试试~ 我知道了~
首页kafka环境搭建并和spring整合
kafka环境搭建并和spring整合
2星 需积分: 34 59 下载量 150 浏览量
更新于2023-05-31
评论
收藏 344KB DOCX 举报
分别介绍了kafka单机版,集群版环境搭建和常用配置和命令,并有和spring整合开发的简单示例。
资源详情
资源评论
资源推荐
kafka 简单介绍:
1.名词
Kafka 集群包含一个或多个服务器,这种服务器被称为 broker
每条发布到 集群的消息都有一个类别,这个类别被称为 。(物理上不同 的
消息分开存储,逻辑上一个 的消息虽然保存于一个或多个 上但用户只需指定消
息的 即可生产或消费数据而不必关心数据存于何处)
是物理上的概念,每个 包含一个或多个 ,创建 时可指定
数量。每个 对应于一个文件夹,该文件夹下存储该 的数据和索引文件
负责发布消息到 Kafka broker
消费消息。每个 consumer 属于一个特定的 consumer group(可为每个 consumer 指
定 group name,若不指定 group name 则属于默认的 group)。使用 consumer high
level API 时 , 同 一 topic 的 一 条 消 息 只 能 被 同 一 个 consumer group 内 的 一 个
consumer 消费,但多个 consumer group 可同时消费这一消息。
2.Kaa 架构
如上图所示,一个典型的 kafka 集群中包含若干 producer,若干 broker(Kafka 支
持水平扩展,一般 broker 数量越多,集群吞吐率越高),若干 consumer group,以及
一个 集群。Kafka 通过 Zookeeper 管理集群配置,选举 leader。producer 使
用 push 模式将消息发布到 broker,consumer 使用 pull 模式从 broker 订阅并消费消息。
3.Push vs. Pull
作为一个 , 遵循了传统的方式,选择由 向
消息并由 从 消息。
模式很难适应消费速率不同的消费者,因为消息发送速率是由 决定的。
模式的目标是尽可能以最快速度传递消息,但是这样很容易造成 来不及处
理消息,典型的表现就是拒绝服务以及网络拥塞。而 模式则可以根据 的消费
能力以适当的速率消费消息。
4.数据存储时间
对于传统的 而言,一般会删除已经被消费的消息,而 集群会保留
所有的消息,无论其被消费与否。当然,因为磁盘限制,不可能永久保留所有数据(实际
上也没必要),因此 提供两种策略去删除旧数据。一是基于时间,二是基于
文件大小。例如可以通过配置 !"#"$%,让 删除一周前
的数据,也可通过配置让 在 文件超过 &'( 时删除旧数据,如下所示
5.properes 文件总结
默认值:无
每一个 都有一个唯一的 ,这是一个非负整数,这个 就是 的)名字),
这样就允许 迁移到别的机器而不会影响消费者。你可以选择任意一个数字,只要它
是唯一的。
默认值:
一个用逗号分隔的目录列表,可以有多个,用来为 存储数据。每当需要为一个
新的 分配一个目录时,会选择当前的存储 最少的目录来存储。
默认值:
$ 用来接受 请求的端口。
默认值:
指定了 的 ,以 * 的形式, 和 就是
集群各个节点的 和 。 集群中的某个节点可能会挂掉,
所以可以指定多个节点的 。如下所式:
&*&+,*,+-*-.
也可以允许你指定一个))的路径,可以让 集群将需要存储在
的数据存储到指定的路径下这可以让多个 集群或其他应用程序公用同一个
集群。可以使用如下的 :
&*&+,*,+-*-""
这样就可以将这个集群的所有数据存放在"" 路径下。注意在启动集群前,一
定要先自己创建这个路径, 也得使用相同的 。
监 听 列 表 , 如 果 为 空 则 绑 定 默 认 网 卡 , 如 果 没 有 配 置 则 默 认 为
java.net.InetAddress.getCanonicalHostName().
格式:.*""*
设置不同于 配置的监听列表,即不同于 设置的网卡地址及端口,如
果 没 有 设 置 会 使 用 的 值 , 格 式 : $%./0123!43*""
%%*565,。
!默认值:
broker 的 hostname,如果设置了它,会仅绑定这个地址。如果没有设置,则会绑
定所有的网络接口,并提交一个给 ZK,只有当 listeners 没有配置时才使用。
!默认值:
如果设置了这个 hostname,会分发给所有的 producer,consumer 和其他 broker
来连接自己,在多网卡时需要设置为一个 ip 值,如果没有设置则返回 host.name 设置的
值 , 如 果 host.name 没 设 置 则 返 回
java.net.InetAddress.getCanonicalHostName() , 不 推 荐 使 用 , 只 有 当
advertised.listeners 或 listeners 没有配置时才使用。
默认值:
分发这个端口给所有的 producer,consumer 和其他 broker 来建立连接。如果此端
口跟 server 绑定的端口不同,则才有必要设置。
"#$默认值:%&%'&%'
server 能接受的请求的最大的大小,这是为了防止 server 跑光内存,不能大于 (
堆的大小。
默认值:%
如果在创建 topic 的时候没有指定 partition 的数量,则使用这个值来设置。
$默认值:%'&%'&%'
一个 topic 的一个 partition 对应的所有 segment 文件称为 log。这个设置控制着一
个 segment 文件的最大的大小,如果超过了此大小,就会生成一个新的 segment 文件。
!默认值:'&)
这 个 设 置 会 强 制 Kafka 去 roll 一 个 新 的 log segment 文 件 , 即 使 当 前 使 用 的
segment 文件的大小还没有超过 log.segment.bytes。
$默认值:
此配置可以设置成 delete 或 compact。如果设置为 delete,当 log segment 文件
的大小达到上限,或者 roll 时间达到上限,文件将会被删除。如果设置成 compact,则此
文件会被清理,标记成已过时状态,
剩余29页未读,继续阅读
mouwengang
- 粉丝: 31
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1