kafka学习

Kafka介绍

Kafka是一个分布式 支持分区(partition) 多副本(replica) 基于zookeeper协调分布式消息系统

它最大特性就是可以实时的处理大量数据

kafka特性
高吞吐 低延迟

每个topic可以分为多个partition, consumer group 对partition进行consume操作

可扩展性: 支持集群

持久性:消息持久到硬盘

容错性:允许集群节点失败

高并发:支持数千个客户端同时读写

生产者客户端是线程安全的,但是消费者客户端是非线程安全的,每次操作时都会调用accqure方法用来确定当前只有一个线程操作,如果有多个线程在操作,会抛出CME异常。

可以使用一个线程去消费,拿到消息在交到线程池去处理。

Kafka 存储策略

kafka以topic进行消息管理,

每个topic包含多个partition,

每个partition对应一个log,有多个segment组成

每个segment存储多条消息,

消息id由逻辑位置决定,可以直接从消息id定位到存储位置

每个part在内存中对应一个index 记录每个segment中的每一条消息偏移

发布者发到topic消息

会被均匀分布到part上,broker收到发布消息往对应part最后一个segment上添加消息。

当某个segment上的

消息数达到配置值或发布时间超过配置时,segment上消息会持久到硬盘上。

segment达到一定大小

将不会在往segment写数据

,broker会创建

新的segment

Kafka 架构

话题: topic

生产者: 能够

生产消息

服务代理: 已发布的消息保存在一组服务器中 他们被

成为代理

消费者: 可以订阅一个或多个topic 并从broker拉数据,并且消费消息

一个topic可以配置多个分区,一个topic 对应一个消费组,topic下的每个分区对应一个消费者,使用负载均衡算法消费

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值