Kafka 常用功能总结(不断更新中....)

kafka 用途

业务中我们经常用来两个方面

1.发送消息

2.发送日志记录

kafka 结构组成

broker:可以理解成一个单独的服务器,所有的东西都归属到broker中

partation:为了增加并发度而做的拆分,相当于把broker拆分成不同的小块;

topic:消息发送的必要条件,把topic理解成插座板,消息内容理解成电。

group:消费者组,可以理解成电器,不同的电器,插座上可以也一直插很多电器,然后不同电器用电做不同的事。

kafka如何做到群发功能

消费者中可以指定消费者组,当我们把消息发送到指定的topic上时,不同的消费者组可以根据这个topic去拿到这个消息,所以我们可以:

指定多个消费者组,然后消费同一个topic;消费者组是电器,不同的电器,插座上可以也一直插很多电器,然后不同电器用电做不同的事。

kafka 如何让消息按照我给的顺序消费

patation:可以保证加进来的消息都是按照顺序来推送的,所以只需要能把消息发送到同一个partation上就行

那么kafka是如何保证发到哪个partation呢

1.指定partation

2.指定key,kafka内部根据key求hash,然后发送到kafka,相同的key就可以落在同一个kafka上

但是我们大多数情况下都是指定key,然后kafka内部去自动分配到不同的partation。

kafka 如何指定partation的数量

kafka的配置文件中conf/server.properties中,通过replication-factor可以指定partation的数量

kafka 常用 命令

修改主题或分区

bin/kafka-topics.sh --bootstrap-server 127.0.0.1:9091,127.0.0.1:9092 --alter --topic three-rf-topic --partitions 4

删除topic

bin/kafka-topics.sh --bootstrap-server 127.0.0.1:9091,127.0.0.1:9092 --delete --topic my_topic_name

kafka 如何配置确保消息不会丢失

broker:

unclean.leader.election.enable=false

auto.leader.rebalance.enable=true

replication.factor=3

有多少副本确认完成才算成功,官网建议为default.replication.factor的2/3

min.insync.replicas=2

producer:

acks=all

retries=3

retry.backoff.ms=500

consumer:

enable.auto.commit=false

相关推荐
lisanmengmeng7 小时前
Ganglia分布式集群监控系统安装手册
分布式
我不会起名字32213 小时前
Kafka 分区数到底设几个:吞吐量、顺序性与 rebalance 代价的取舍
kafka·消息队列·调优·分区
Smoothcloud润云14 小时前
GPU算力平台推荐:新手租GPU时,镜像环境和显存应该怎么选?
大数据·人工智能·pytorch·分布式·深度学习·gpu算力
程序员大阳16 小时前
副队长大数据教程(6)--四节点分布式集群搭建
大数据·分布式·集群·搭建·四节点
马六六i16 小时前
目前知名的分布式Ai数智共享商城哪家好
人工智能·分布式
大鹏说大话17 小时前
分布式事务怎么选型?2PC、TCC、SAGA、本地消息表一次讲清
分布式
Eloudy18 小时前
ASTRA-sim 3.0:通过高保真GPU和基础设施建模进行下一级分布式机器学习模拟
人工智能·分布式·机器学习
泡海椒19 小时前
JQuick-SQL 模块架构:从 SQL AST 到分布式执行
分布式·sql·架构
starzy199020 小时前
深度拆解 Kafka 源码:Producer 构造器装配了哪些核心组件
分布式·kafka
我不会起名字32220 小时前
Go 写 Kafka 消费者:sarama 的 3 个坑与优雅退出写法
kafka·消息队列·go·sarama