kafka-分区原来是这样子
1. 分区器
broker配置项:partitioner.class
org.apache.kafka.clients.producer.internals.DefaultPartitioner
org.apache.kafka.clients.producer.RoundRobinPartitioner
org.apache.kafka.clients.producer.Partitioner
1.1 默认分区器(DefaultPartitioner)
若发送时指定分区,则发送到指定的分区中
未指定分区,指定了Key,则Key的hashcode%分区数
均未指定,采取粘性规则,第一次随机选择分区,直到缓存满或者时间到发送完消息,下一次继续随机但不会选择上次使用的分区
1.2 RoundRobinPartitioner
这种分区策略是一系列连续记录中的每条记录将被发送到不同的分区(无论是否提供’key’),直到我们用完分区并重新开始。注意:有一个已知问题会在创建新批次时导致分布不均
1.3 UniformStickyPartitioner
此分区策略将尝试坚持一个分区(无 ...
kafka概述(二)
1. kafka配置详解1.1 broker配置
broker.id:(必须配置)节点ID,必须全局唯一
log.dir:(必须配置)日志存放目录,默认值(/tmp/kafka-logs),tmp目录会被系统定期清理
zookeeper.connect:(必须配置)zookeeper连接
auto.create.topics.enable:是否自动创建主题,默认为true
auto.leader.rebalance.enable:分区leader自动负载均衡,默认true
compression.type:压缩类型,可选值 (‘gzip’, ‘snappy’, ‘lz4’, ‘zstd’)
1.2 producer配置
client.id:生产者客户端Id
batch.size:批量发送数据大小,默认16K
linger.ms:延迟时间,默认0
buffer.memory:缓冲区大小,默认32M
compression.type:消息压缩格式,默认none,可选none, gzip, snappy, lz4, or zstd
acks:消息确认机制,默认al ...
kafka概述(一)
概述1、定义
Kafka 是由 Linkedin 公司开发的, 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),同时是支持多分区、多副本的分布式消息流平台,适合大数据的存储以及计算
2、应用场景
限流削峰:在非常高的并发下,防止导致服务系统崩溃,消息队列能帮忙服务顶住突发的访问压力,解决生产能力和消费能力不一致的问题
服务解耦:解除不同服务之间的依赖关系,防止一端服务变更导致另一端服务需要同步变更或崩溃的问题,使修改更为灵活,维护与开发成本降低
异步通信:允许将消息放入队列中不用立即处理,且生产者发送消息时也可选择异步或者同步发送
3、特点
高吞吐、低延迟:kakfa 最大的特点就是收发消息非常快,kafka 每秒可以处理几十万条消息,它的最低延迟只有几毫秒;高伸缩性:每个主题(topic) 包含多个分区(partition),主题中的分区可以分布在不同的主机(broker)中;持久性、可靠性:Kafka 能够允许数据的持久化存储,消息被持久化到磁盘,并支持数据备份防止数据丢失,Kafka 底层的数据存储是基于 Zookeeper 存储的 ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment