首页
架构设计
后端
java
python
PHP
前端
vue
react
js+ccs
nodejs
AI
运维
Linux
常用工具
中间件
软件部署
运维随笔
问题记录
系列文章
redis理论及实战
RabbitMQ安装及原理
RocketMQ
Kafka
mysql5.7使用及原理
elasticsearch
轻松玩转大模型微调
K8S
软考
系统架构师
系统分析师
我的动态
路口、下车
累计撰写
78
篇文章
累计创建
52
个标签
累计收到
2
条评论
栏目
首页
架构设计
后端
java
python
PHP
前端
vue
react
js+ccs
nodejs
AI
运维
Linux
常用工具
中间件
软件部署
运维随笔
问题记录
系列文章
redis理论及实战
RabbitMQ安装及原理
RocketMQ
Kafka
mysql5.7使用及原理
elasticsearch
轻松玩转大模型微调
K8S
软考
系统架构师
系统分析师
我的动态
目 录
CONTENT
以下是
kafka
相关的文章
2026-01-21
Kafka—8.生产者同步与异步发送消息
文章介绍了Kafka中同步发送和异步发送消息的原理、优缺点。同步发送通过等待Kafka集群响应确保消息被成功写入,适用于对数据准确性要求高的场景,如金融交易,但其性能较低且容易造成阻塞。异步发送则允许生产者在发送消息后立即继续执行其他操作,提高了消息发送的吞吐量和应用程序的响应能力,适合处理大量消息的场景,如日志收集系统。然而,异步发送的可靠性相对较低,如果生产者进程意外终止,可能会导致部分消息丢失。
2026-01-21
5
0
0
Kafka
2026-01-20
Kafka—7.生产者消息分区
文章介绍了如何在Kafka中创建和描述主题,并展示了使用Java代码发送消息到Kafka主题的示例。首先,通过Docker容器中的命令行工具创建了一个名为`porders`的主题,并设置了3个分区和1个副本。接着,使用`kafka-topics.sh`脚本描述了该主题的详细信息,包括每个分区的领导者、副本等。 然后,文章提供了一个Java程序`OrderProducer`,用于向Kafka主题`porders`发送订单消息。该程序配置了Kafka生产者的属性,如引导服务器地址、键和值的序列化类、分区策略等。程序通过循环生成并发送10条订单消息,并记录每条消息的元数据(如主题、分区、偏移量和时间戳)。 最后,文章展示了三种不同情况下的日志输出:未设置Key且未设置分区器、设置了Key但未设置分区器、以及设置了分区器的情况。这些日志显示了每条消息被发送到的具体分区及其偏移量。
2026-01-20
5
0
0
Kafka
2026-01-20
Kafka—6.生产者数据传递语义
文章介绍了Kafka中三种消息传递语义:At Most Once、At Least Once和Exactly Once。 1. **At Most Once**(最多一次):生产者发送消息后不等待确认,性能高但可能丢失消息。适用于对消息丢失不太敏感但要求低延迟的场景,如实时监控数据传输。配置示例为`acks=0`和`retries=0`。 2. **At Least Once**(至少一次):生产者发送消息后等待确认并重试直到成功,确保消息不会丢失但可能导致重复。适用于对消息丢失敏感且可容忍一定程度重复的场景,如金融交易系统。配置示例为`acks=all`和`retries=Integer.MAX_VALUE`。 3. **Exactly Once**(精确一次):通过事务和幂等性机制确保消息既不丢失也不重复,适用于对消息准确性和一致性要求极高的场景,如订单处理和库存管理。配置示例包括启用幂等性和设置事务ID。
2026-01-20
3
0
0
Kafka
2026-01-20
Kafka—5.Kafka生产者关键配置
该文档包含一个Maven项目配置文件、一个订单类定义以及一个Kafka生产者示例。Maven配置文件中定义了项目的基本信息,并引入了Kafka客户端库、Logback日志框架和Jackson数据绑定库作为依赖项。订单类`Order`具有订单ID、时间戳、产品名称、数量和价格等属性,并提供了相应的构造函数、getter和setter方法以及toString方法。Kafka生产者示例`OrderProducer`使用KafkaProducer发送订单对象到指定的主题,通过自定义的JsonSerializer将订单对象序列化为JSON格式。生产者配置包括Kafka集群地址、键值序列化器、消息确认模式、重试次数和未完成请求数量限制等。
2026-01-20
6
0
0
Kafka
2026-01-20
Kafka—4.Java程序接入Kakfa
该文档包含了一个Maven项目的配置文件和两个Java类,用于演示如何使用Apache Kafka进行消息的生产和消费。Maven项目配置了Kafka客户端库和Logback日志框架作为依赖项,并设置了编译器版本和编码格式。`HelloWorldProducer`类通过创建一个Kafka生产者实例并发送一条"hello world again!"的消息到指定的主题`kinaction_helloworld`。`HelloWorldConsumer`类则展示了如何订阅同一主题并消费消息,它配置了一个消费者组ID、自动提交偏移量等属性,并在接收到消息时打印出其偏移量和内容。此外,还实现了优雅关闭机制以确保资源被正确释放。
2026-01-20
5
0
0
Kafka
2026-01-20
Kafka—3.Docker部署Kafka 3.9
本文介绍了如何使用Docker Compose部署Kafka和Zookeeper环境,并通过命令行创建、查看及管理Kafka主题。首先,通过删除旧目录并创建新目录,然后编写docker-compose.yaml文件来启动Kafka与Zookeeper服务。接着,展示了如何打开防火墙端口以允许外部访问Kafka服务。文章还详细解释了如何在Kafka集群中创建名为kinaction_helloworld的主题,包括指定分区数量和副本因子。此外,提供了查询主题列表及特定主题详细信息的方法。最后,演示了如何使用Kafka控制台生产者向主题发送消息以及如何使用消费者从主题接收消息的过程。
2026-01-20
4
0
0
Kafka
2026-01-20
Kafka—1.初识Apache Kafka
Apache Kafka是一种高性能、分布式的消息发布与订阅系统,也是一个强大的流式处理平台。它支持实时数据流的高吞吐量传输,具备高度可扩展性、持久化特性和容错能力。Kafka通过分布式部署多个代理来处理大量数据,并以日志形式存储数据,确保即使在故障情况下也不会丢失数据。Kafka不仅支持多种消息传递语义(至少一次、至多一次、精确一次),还集成了Kafka Streams库,便于构建实时流处理应用。此外,Kafka广泛应用于日志聚合、微服务架构和物联网数据总线等领域,为企业提供了一站式的解决方案。然而,在批处理、随机查询、严格消息顺序保证和大消息体处理等特定场景下,Kafka可能不是最佳选择。
2026-01-20
10
0
0
Kafka
2026-01-20
Kafka—2.关键概念
本文介绍了Kafka中的关键组件及其作用。Kafka Broker是服务器实例,负责存储和转发消息,并处理客户端请求。Topic用于对消息进行分类管理,使生产者和消费者解耦。Partition是Topic的物理分区,提高系统的并行度和吞吐量。Producer负责创建并发送消息到指定的Topic,而Consumer则订阅并处理这些消息。Consumer Group是一组消费者的集合,实现负载均衡和容错。在Kafka中,生产者将消息发送到Topic,消息根据分区规则被分配到不同的Partition中,存储在Broker上;消费者通过订阅Topic从相应的Partition中获取消息,确保每个分区的消息在一个消费者组内只被一个消费者消费。
2026-01-20
5
0
0
Kafka