004-kafka
文章平均质量分 94
黑桃SevenPig
Java基建
展开
-
kafka-08-SpringBoot Kafka实战
注意:当前的 Kafka 版本无法保证每个消息“只被保存一次”。现实中的很多应用程序在消息里加入唯一标识符,用于检测重复消息,消费者在读取消息时可以对它们进行清理。应用程序需要可以做到消息的“幂等”,也就是说,即使出现了重复消息,也不会对处理结果的正确性造成负面影响。整合SpringBoot kafka,加入依赖 <dependency> <groupId>org.springframework.boot</groupId>原创 2021-01-13 20:24:37 · 1192 阅读 · 0 评论 -
kafka-07-可靠的消息传递
1 可靠性保证在讨论可靠性时,我们一般会使用“保证”这个词,它是指确保系统在各种不同的环境下能够发生一致的行为。了解系统的保证机制对于构建可靠的应用程序来说至关重要,这也是能够在不同条件下解释系统行为的前提。那么 Kafka 可以在哪些方面作出保证呢?Kafka 可以保证分区消息的顺序。如果使用同一个生产者往同一个分区写入消息,而且消息 B 在消息 A 之后写入,那么 Kafka 可以保证消息 B 的偏移量比消息 A 的偏移量大,而且消费者会先读取消息 A 再读取消息 B 。 只有当消息被写入原创 2021-01-08 16:28:07 · 138 阅读 · 0 评论 -
kafka-06-控制器、复制、元数据请求,生产请求和消费请求
Kafka 使用 Zookeeper 来维护集群成员的信息。每个 broker 都有一个唯一标识符,这个标识符可以在配置文件里指定 ,也可以自动生成。在 broker 启动的时候,它通过在/brokers/ids路径创建临时节点把自己的 ID 注册到 Zookeeper 。 Kafka 组件订阅 Zookeeper 的/brokers/ids路径(broker 在 Zookeeper 上的注册路径),当有 broker 加入集群或退出集群时,这些组件就可以获得通知。如果你要启动另一个具有相同...原创 2021-01-08 13:06:17 · 250 阅读 · 0 评论 -
kafka-05-消费者
1. 消费者和消费者群组消费者从属于消费者群组,一个群组里的消费者订阅的是同一个主题,每个消费者接收主题一部分分区的消息。可以增加更多的消费者,让它们分担负载,每个消费者只处理部分分区的消息,这就是横向伸缩的主要手段。我们有必要为主题创建大量的分区,在负载增长时可以加入更多的消费者。要注意,不要让消费者的数量超过主题分区的数量,多余的消费者只会被闲置。1 个消费者收到 4 个分区的消息假设主题 T1 有 4 个分区,我们创建了消费者 C1 ,它是群组 G1 里唯一的消费者,群组 G1 订阅主题原创 2021-01-07 20:22:01 · 332 阅读 · 1 评论 -
kafka-04-生产者
1 生产者概览往 Kafka 写入消息的场景 :记录用户的活动(用于审计和分析)、 记录度量指标、 保存日志消息、 记录智能家电的信息、 与其他应用程序进行异步通信、 缓冲即将写入到数据库的数据,等等。多样的使用场景意味着多样的需求:是否每个消息都很重要? 是否允许丢失一小部分消息? 偶尔出现重复消息是否可以接受? 是否有严格的延迟和吞吐量要求?场景举例:在之前提到的信用卡事务处理系统里,消息丢失或消息重复是不允许的,可以接受的延迟最大为 500ms ,对吞吐量要求较高我原创 2021-01-07 14:27:45 · 134 阅读 · 0 评论 -
kafka-03-主题的操作和动态配置变更
1 主题操作使用kafka-topics.sh工具可以执行主题的大部分操作(配置变更部分已经被移动到kafka-configs.sh工具当中)。我们可以用kafka-topics.sh创建、修改、 删除和查看集群里的主题。要使用该工具的全部功能,需要通过--bootstrap-server参数提供 Kafka broker 的连接字符串 。1.1 创建主题--create在集群里创建一个主题需要用到 3 个参数。这些参数是必须提供的,尽管有些已经有了 broker 级别的默认值...原创 2021-01-06 23:39:16 · 960 阅读 · 0 评论 -
kafka-02-Kafka安装运行
1、安装Java 7或以上版本省略...2、安装 ZookeeperKafka 使用 Zookeeper 保存集群的元数据信息和消费者信息。可以到 apache 官网下载zookeeper:https://zookeeper.apache.org/releases.html。更详细的zookeeper安装操作,可参考前面的文章[zk-03-Zookeeper部署和运行]https://blog.csdn.net/qq_20633779/article/details/11177...原创 2021-01-01 00:12:13 · 158 阅读 · 0 评论 -
kafka-01-Kafka简介
1、Kafka 基本概念Kafka 是一款基于发布与订阅的梢息系统。它一般被称为“分布式提交日志”或者“分布式流平台”。1.1、消息和批次消息:Kafka 的数据单元被称为消息。可以把消息看成是数据库里的一个“数据行”或一条“记录”。消息由字节数组组成,所以对于 Kafka 来说,消息里的数据没有特别的格式或含义。键:消息可以有一个可选的元数据 ,也就是键。键也是一个字节数组,与消息一样,对于 Kafka 来说也没有特殊的含义。 当消息以一种可控的方式写入不同的分区时,...原创 2020-12-30 19:41:07 · 175 阅读 · 0 评论