kafka的12个重要概念

kafka的12个重要概念

  • 1、服务器broker
    • 1.1、Broker 的主要功能
    • 1.2、Kafka Broker 的架构
    • 1.3、配置和管理
    • 1.4、高可用性和负载均衡
    • 1.5、总结
  • 2、主题topic
    • 2.1、主要特点
  • 3、事件Event
  • 4、生产者producer
    • 4.1、主要功能
    • 4.2、Producer 的配置选项
    • 4.3、Producer 的工作流程
    • 4.4、总结
  • 5、消费者consumer
  • 6、消费组consumer group
  • 7、分区partiton
  • 8、偏移量offset
  • 9、Replica副本
    • 9.1、定义
    • 9.2、主副本与从副本
    • 9.3、 副本的工作机制
    • 9.4、副本的状态
    • 9.5、副本的容错与高可用性
    • 9.6、副本配置
    • 9.7、副本的管理
    • 9.8、总结
  • 10、ISR副本
  • 11、LEO(日志末端偏移量)
  • 12、HW(High Watermark)高水平值
  • 13、ISR副本、LEO(日志末端偏移量)、HW(High Watermark)高水平值三者之间的关系

1、服务器broker

Broker 是 Kafka 集群中的一个服务器,它负责接收、存储和转发消息。Kafka 集群由多个 broker 组成,这些 broker 通常分布在不同的物理或虚拟服务器上,以实现负载均衡和高可用性。

一个独立的 Kafka 服务器被称为 bro胎儿 broker 接收来自 生产者的消息,为消息设置偏移量,并提交消息到磁盘保存。 broker 为消费者提供服务,对读取分区的请求作出响应,返
回已经提交到磁盘上的消息。根据特定的硬件及其性能特征,单个 broker 可以轻松处理数千个分区以及每秒百万级的消息量。

1.1、Broker 的主要功能

1、消息存储: Broker 负责将生产者发送的消息存储到磁盘上,并在需要时将这些消息提供给消费者。消息被存储在 Kafka 中的称为 topic 的数据结构里,每个 topic 又可以分为多个 partition。

2、消息转发: Broker 接收生产者发送的消息,并将其写入对应的 topic 和 partition。当消费者订阅某个 topic 时,broker 会将该 topic 中的数据传送给消费者。

3、分区和副本管理: Kafka 的每个 topic 都可以分成多个分区,每个分区可以在不同的 broker 上存储。这有助于实现数据的分布和负载均衡。每个分区可以有多个副本,这些副本分布在不同的 broker 上,以确保数据的高可用性和容错性。Broker 负责管理这些分区及其副本的状态。

4、Leader 和 Follower: 每个分区都有一个 leader 和若干个 follower。leader 处理所有对分区的读写请求,而 follower 复制 leader 的数据以保证副本的一致性。Broker 还负责协调 leader 和 follower 的角色。

1.2、Kafka Broker 的架构

Producer: 生产者将消息发送到 Kafka 集群的某个 broker。
Broker: 处理和存储来自生产者的消息,并将它们分配到相应的 topic 和 partition。
Consumer: 消费者从 broker 订阅 topic,并读取存储在 topic 中的消息。

1.3、配置和管理

配置: 每个 Kafka broker 可以通过 server.properties 文件进行配置,主要配置项包括 broker ID、监听端口、日志目录、zookeeper 连接信息等。

管理: Kafka 提供了多种工具来管理 broker,例如 kafka-broker-api-versions.sh 可以查看 broker 的 API 版本,kafka-topics.sh 可以管理 topic 和 partition,kafka-consumer-groups.sh 可以查看消费者组的状态等。

1.4、高可用性和负载均衡

通过在 Kafka 集群中运行多个 broker,Kafka 可以实现数据的高可用性和负载均衡。数据的冗余存储和分布式架构保证了系统的可靠性和可扩展性,即使某些 broker 出现故障,数据和服务也不会中断。

1.5、总结

Kafka 的 broker 是集群中负责数据存储和转发的核心组件。它们处理来自生产者的消息,存储数据,协调数据的副本,提供给消费者,并确保系统的高可用性和负载均衡。通过合理配置和管理 broker,可以构建高效、可靠的消息系统。

2、主题topic

在 Kafka 中,topic 是一种用于分类和组织消息的机制。它是 Kafka 中数据存储和传输的基本单位。每个 topic 可以包含多个 partitions,每个 partition 是一个日志文件,按顺序存储消息。

2.1、主要特点

消息分类: Topic 用于将消息分类到不同的逻辑组,使生产者和消费者可以按需读取和写入数据。

分区: 每个 topic 可以分成多个 partition,这样可以实现并行处理和负载均衡。每个 partition 是有序的,消息在其中的顺序是保证的。

数据冗余: Topic 的每个 partition 可以有多个副本(replicas),分布在不同的 broker 上,这有助于数据的持久性和高可用性。

持久化: 消息在 topic 中按照配置的保留策略(如时间或大小)进行持久化。

消费模式: 消费者可以订阅一个或多个 topic,根据需求消费其中的数据。

总结来说,topic 在 Kafka 中是一个核心概念,负责组织和管理消息的存储与传输。

3、事件Event

在 Kafka 中,event 是指传输和存储的消息单位。每个 event 包含实际的数据内容,以及可能的元数据(如时间戳、键等)。这些 events 被写入到特定的 topic 中,并按顺序存储在分区(partition)里。消费者从 topic 中读取这些 events,进行处理和分析。总的来说,event 是 Kafka 中消息流的基本构建块。

4、生产者producer

在 Kafka 中,producer 是指负责将消息(或称为 events)发送到 Kafka 集群的组件。Producer 是 Kafka 的一个重要角色,它将数据发布到指定的 topic 中,然后 Kafka 的 broker 处理存储和转发这些数据。以下是关于 Kafka producer 的一些关键点:

4.1、主要功能

1、消息发送: Producer 负责将消息写入 Kafka 集群中的一个或多个 topic。消息可以是任何形式的数据,比如日志记录、事件数据等。

2、负载均衡: Producer 可以将消息发送到不同的分区(partitions)以实现负载均衡。通常,producer 会根据某种策略(如消息键、轮询等)来决定将消息写入哪个分区。

3、数据序列化: 在发送消息之前,producer 需要将数据序列化成 Kafka 可以存储的格式。Kafka 提供了多种序列化机制(如 JSON、Avro、Protobuf),也允许用户自定义序列化方式。

4、消息确认: Producer 可以配置不同的 acks(确认机制),来控制消息的可靠性。设置 acks=0 时,producer 不会等待 broker 的确认,设置 acks=1 时,producer 会等待 leader 的确认,而 acks=all(或 acks=-1)则要求所有副本都确认消息写入。

5、批量发送: 为了提高性能,producer 可以将多条消息打包成一个批次进行发送。这种批量发送可以减少网络往返次数,从而提高吞吐量。

6、重试机制: Producer 具备重试机制,当发送消息失败时,可以根据配置自动重试。重试策略可以帮助提高消息的成功率。

4.2、Producer 的配置选项

1、bootstrap.servers: 指定 Kafka 集群中 broker 的地址,producer 使用这些地址来连接到集群。

2、key.serializer 和 value.serializer: 用于将消息的键和值序列化为字节数组,以便 Kafka 存储和处理。

3、acks: 配置消息确认机制,决定 producer 等待多少 broker 确认消息写入。

4、batch.size: 配置批量发送的大小,决定 producer 在发送消息之前最大可以积累多少字节的数据。

5、linger.ms: 配置消息的延迟时间,决定 producer 在发送消息之前最多等待多少毫秒,以便打包更多的消息。

6、retry.backoff.ms: 配置当消息发送失败时,producer 等待的时间,以便进行重试。

4.3、Producer 的工作流程

初始化: Producer 初始化连接到 Kafka 集群,并确定要发送消息的 topic 和 partition。

序列化: 将消息的键和值序列化为字节数组。

发送消息: 将序列化后的消息发送到指定的 topic 和 partition。

确认和重试: 等待 broker 的确认,并根据配置进行重试(如有需要)。

处理响应: 根据 broker 返回的响应,处理发送结果和错误。

4.4、总结

Kafka 的 producer 是消息的生产者和发送者,负责将数据发布到 Kafka 集群中的 topic。通过配置和优化 producer 的各种参数,可以实现高效的数据发送和可靠性。

5、消费者consumer

Kafka 中的 consumer 是负责从 Kafka 集群中读取和处理消息的组件。它订阅一个或多个 topics,从这些 topics 中读取消息,并根据业务需求进行处理。消费者通常是应用程序的一部分,处理从 Kafka 传递过来的数据。主要特点包括:

1、订阅 Topics: 消费者订阅一个或多个 topics,以便从中获取消息。

2、分区读取: 消费者从分区中读取消息。一个 consumer group 内的消费者可以并行处理消息,每个消费者负责一个或多个分区。

3、偏移量管理: 消费者跟踪已处理消息的偏移量(offset),以便能够从正确的位置继续读取。这些偏移量可以存储在 Kafka 中或外部存储系统中。

4、消费策略: 消费者可以配置为实时消费(处理实时到达的消息)或批量消费(处理一定数量的消息后再进行处理)。

5、负载均衡: 在一个 consumer group 内,多消费者可以共享负载,确保消息的高效处理。

6、消息处理: 消费者应用逻辑处理从 Kafka 中读取的消息,如数据分析、存储或进一步的计算。

6、消费组consumer group

在 Kafka 中,消费组(consumer group) 是一组消费者实例的集合,它们共同处理一个或多个 topics 中的消息。每个消费组被分配独立的消息处理任务,以确保消息的负载均衡和可靠处理。主要特点包括:

1、负载均衡: 每个消费组内的消费者实例会共享处理 topic 中的分区,实现负载均衡。一个 topic 的每个分区只能被消费组中的一个消费者处理,但可以被多个消费组中的消费者处理。

2、消息偏移量: 消费组跟踪每个分区的消费进度(即消息的偏移量),以便在消费者重启或故障恢复时,从正确的位置继续消费。

3、容错性: 当消费组中的某个消费者实例失败时,其他实例可以接管未完成的任务,确保消息处理的可靠性和高可用性。

4、并行处理: 消费组内的多个消费者可以并行处理消息,提高整体处理吞吐量。

5、动态扩展: 可以动态增加或减少消费组中的消费者数量,Kafka 会自动重新分配分区以适应变化。

7、分区partiton

在 Kafka 中,分区(partition) 是 topic 的核心组成部分,是 Kafka 实现数据分布、负载均衡和扩展性的基础。以下是分区的主要概念和功能:

1. 数据分布
分区机制: 每个 topic 可以包含多个分区。分区是 Kafka 存储和管理数据的基本单位。数据在 topic 内部被分散到不同的分区中,以实现负载均衡和高吞吐量。

2. 消息顺序
顺序保证: 在同一个分区内,消息的顺序是有保证的。消费者从分区中读取消息时,会按照消息的写入顺序进行处理。但不同分区之间的消息顺序没有保证。

3. 负载均衡
生产者负载均衡: 生产者将消息发送到 topic 的不同分区,以实现负载均衡。可以根据消息键(key)来决定将消息发送到哪个分区,从而使相关的消息集中在同一个分区内。

消费者负载均衡: 消费者可以并行地从多个分区读取消息。一个 topic 的每个分区只能由一个消费者实例(在同一个消费组内)进行消费,但可以由不同的消费组中的消费者实例读取。

4. 扩展性
水平扩展: 通过增加分区数量,可以水平扩展 Kafka 的存储和处理能力。每个分区可以分布在不同的 broker 上,从而分担负载。

5. 数据复制
副本机制: 每个分区有一个领导副本(leader)和多个跟随副本(follower)。领导副本负责处理所有的读写请求,跟随副本复制领导副本的数据,以实现数据的冗余备份和高可用性。

6. 消息偏移量
偏移量管理: 每个分区内的消息都有一个唯一的偏移量(offset),消费者使用这些偏移量来跟踪已经消费的消息,确保消息的处理不会遗漏或重复。

7. 数据持久化
日志文件: 每个分区的数据会被存储为一组日志文件,这些文件在磁盘上按顺序追加写入。Kafka 的分区机制帮助实现高效的数据存储和读取。

总结
Kafka 的分区机制是其高性能和高可扩展性的关键。通过将数据分散到多个分区,Kafka 能够处理大规模的数据流,并确保高吞吐量和容错能力。分区的设计使得 Kafka 能够有效地支持大规模的数据处理和分布式系统架构。

8、偏移量offset

在 Apache Kafka 中,偏移量(offset) 是一个关键概念,用于标识和跟踪消息在分区中的位置。以下是关于偏移量的详细解释:

1. 定义
偏移量: 偏移量是一个整数,表示消息在 Kafka 分区中的位置。每条消息在一个分区内都有一个唯一的、递增的偏移量。它是消息在分区内的序号,从零开始递增。

2. 作用
消息定位: 消费者使用偏移量来确定从哪里开始读取消息。例如,消费者可以从某个特定的偏移量开始读取,或者从最后提交的偏移量继续读取。

消息跟踪: 偏移量帮助 Kafka 跟踪消息的消费进度。它使消费者能够在重启后继续从上次处理的位置开始消费,避免重复处理消息或丢失消息。

3. 如何工作
生产者: 生产者将消息发送到一个分区,Kafka 自动为每条消息分配一个偏移量。生产者无需关注偏移量的分配,这个过程是由 Kafka 管理的。

消费者: 消费者从分区中读取消息时,会记住每条消息的偏移量。消费者可以通过提交偏移量(通常是指明已经处理到哪个偏移量)来表示消息处理的进度。

4. 偏移量提交
自动提交: Kafka 支持自动提交偏移量的功能,消费者可以设置自动提交间隔,Kafka 会自动记录消费者处理的最新偏移量。

手动提交: 也可以选择手动提交偏移量,消费者在确认处理完成后显式地提交当前的偏移量。这允许更精细的控制,例如在处理消息失败时可以回滚到之前的偏移量。

5. 存储
消费者偏移量存储: Kafka 将消费者的偏移量信息存储在一个名为 __consumer_offsets 的内部 topic 中。这个 topic 用于存储所有消费者组的偏移量信息,以便在重启或故障恢复时可以恢复消费状态。

6. 数据恢复
高可用性: 如果消费者崩溃或出现故障,Kafka 可以通过存储在 __consumer_offsets topic 中的偏移量信息恢复消费者的进度。消费者可以从最后提交的偏移量处继续处理消息,保证数据不会丢失。

7. 性能考虑
偏移量与存储: 虽然偏移量本身是轻量级的,但在高吞吐量的系统中,频繁的提交操作(尤其是在自动提交模式下)可能会对性能产生影响。因此,在高吞吐量场景下,合理配置提交间隔和手动提交策略是很重要的。

总结
偏移量是 Kafka 中用于标识消息在分区中的位置的关键机制。它确保了消息的有序消费,并提供了消费者进度跟踪和恢复的能力。通过管理偏移量,Kafka 实现了可靠的消息传递和高效的数据处理。

9、Replica副本

在 Apache Kafka 中,副本(Replica) 是一个重要的概念,用于实现数据的高可用性和容错性。以下是关于 Kafka 中副本的详细解释:

9.1、定义

副本(Replica): 副本是 Kafka 分区的一个完整拷贝,用于保证数据的持久性和容错能力。每个分区可以有多个副本,每个副本都保存该分区的完整数据。

9.2、主副本与从副本

主副本(Leader Replica): 在每个分区中,只有一个副本被选为主副本。主副本负责处理所有的读写请求。所有的生产者和消费者与主副本交互,读写操作都由主副本处理。

从副本(Follower Replica): 其余的副本都是从副本。它们从主副本同步数据,但不直接处理客户端的读写请求。主要任务是从主副本中获取最新的数据并保持同步,以便在主副本失败时可以接管。

9.3、 副本的工作机制

数据复制: 当生产者将消息发送到 Kafka 分区时,这些消息首先被写入到主副本。主副本将这些消息复制到所有的从副本,以保证数据的一致性和可用性。

同步与异步复制: 从副本的复制可以是同步的,也可以是异步的。同步复制意味着主副本在消息被所有从副本确认写入后才认为写入成功;异步复制则意味着主副本在消息被写入后立即返回成功,而从副本会在稍后时间同步数据。

9.4、副本的状态

ISR(In-Sync Replicas): ISR 是指当前与主副本保持同步的副本集合。只有在 ISR 中的副本才被认为是完全同步的,这些副本可以在主副本失败时迅速接管。

Non-ISR 副本: 这些副本未能及时跟上主副本的数据更新,可能因为网络延迟或其他问题。在主副本故障时,这些非 ISR 副本不能立即接管。

9.5、副本的容错与高可用性

主副本故障转移: 如果主副本发生故障,Kafka 会选择一个 ISR 中的从副本作为新的主副本,以保证数据的持续可用性。选举新主副本的过程是自动的。

副本的恢复: 当故障的主副本恢复后,它会成为一个从副本,重新加入到分区的副本集合中,并从新的主副本同步数据。

9.6、副本配置

副本数(Replication Factor): Kafka 分区的副本数是一个配置项,通常在创建 topic 时指定。副本数决定了每个分区有多少个副本,影响到数据的持久性和容错能力。副本数越多,系统的容错能力越强,但也会增加存储和网络负担。

9.7、副本的管理

副本分配: Kafka 使用分区的副本分配策略来分配主副本和从副本。这些策略旨在优化负载均衡和故障恢复能力,确保副本在集群中的分布合理。

副本的监控与管理: Kafka 提供了监控工具和管理接口,以帮助运维人员跟踪副本的状态,处理副本同步问题,并进行故障恢复。

9.8、总结

在 Kafka 中,副本机制是确保数据高可用性和容错性的核心部分。通过主副本和从副本的设计,Kafka 能够在分区级别实现数据冗余,保证即使出现节点故障,系统也能继续正常运行。这种机制增强了 Kafka 的可靠性和数据持久性,适合用于大规模的数据流处理和实时数据传输场景。

10、ISR副本

在这里插入图片描述
在这里插入图片描述

11、LEO(日志末端偏移量)

表示下一条消息该写入的位置

在这里插入图片描述

12、HW(High Watermark)高水平值

在这里插入图片描述

13、ISR副本、LEO(日志末端偏移量)、HW(High Watermark)高水平值三者之间的关系

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/409431.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网页,html,Web端实现RTSP/RTMP实时推流视频和播放

随着技术的不断发展,实时流传输已经成为许多应用的重要组成部分。RTSP(Real-Time Streaming Protocol)作为一种实时流媒体传输协议,广泛应用于视频监控、直播等领域。然而,在Web端实现RTSP实时推流视频播放却面临一些挑…

谈下日本IT业现状以及未来的发展

日本IT业现状 市场规模与增长率: 根据最新数据,日本IT行业的市场规模在不断扩大。例如,2022年日本IT行业的总市值达到了约4500亿美元,年复合增长率约为3.5%。这表明该行业在经济中占据重要地位,并持续保持增长态势。就…

我忘记给我的代码备份了。。。。。。

ok啊,历经1个月,这个项目总算是快写完啦!很烧脑,写这个脑细胞都不知道噶了多少,哎~ 虽然目前还有很大一部分可以改进,我觉得以我目前的能力能写成这样已经很不错了,还是学艺不精啊~ 实际上的话…

分享一个基于python新闻订阅与分享平台flask新闻发布系统(源码、调试、LW、开题、PPT)

💕💕作者:计算机源码社 💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流&…

SpringBoot集成kafka开发-消息消费的分区策略(消费者如何判断从哪个分区中消费消息的?)

这里写目录标题 1、kafak消息者消费消息的4种分区策略2、kafka默认的消费分区策略1-RangeAssignor(均匀分配、默认分配策略)2.1、代码验证RangeAssignor的消息分区策略2.1.1、消费者2.1.2、生产者2.1.3、kafak配置类2.1.4、对象实体类2.1.5、项目配置文件…

卸载通过pip安装的所有Python包的详细指南

卸载所有通过pip安装的Python包的方法总结(Windows系统) 方法 1: 使用 pip freeze 和 requirements.txt 步骤: 导出依赖到requirements.txt文件: pip freeze > requirements.txt这个命令会将当前环境中所有已安装的Python包及其版本号输出到requirem…

Django | 从中间件的角度来认识Django发送邮件功能

文章目录 概要中间件中间件 ---> 钩子实现中间件demo 邮件发送过程Django如何做邮件服务配置流程 中间件结合邮件服务实现告警 概要 摘要 业务告警 邮件验证 密码找回 邮件告警 中间件 中间件 —> ‘钩子’ 例如 访问路由 的次数【请求】 中间件类须实现下列五个方法…

ubuntu系统在线安装下载firefox-esr流览器

1、在线firefox流览器 Firefox ESR(Extended Support Release)是火狐浏览器的长期支持版本,针对同一个主版本提供一年左右的安全性与稳定性支持。如果您因为火狐浏览器改版而导致有原本能用的功能变得不能使用的话(例如Firefox 64.0把RSS订阅的功能拿掉了)&#xf…

【持续更新】1DM+ 17.1 Pro 号称安卓上的 idm,下载超快!最新免费高级修改版

这款安卓平台上的下载管理器,号称安卓上的 idm,堪称最快。 其下载速度比普通下载快高达 500%,有以下特点: • 无广告干扰 • 提供深色与浅色主题选择 • 支持直接下载至SD卡(Android 4.4版本除外) • 具备…

文献阅读:Pathway Ensemble Tool癌症通路和治疗法的无偏发现

介绍 正确地识别生物途径的扰动是揭示基本疾病机制和发展急需的治疗策略的关键步骤。然而,目前的工具是否最优化用于无偏发现相关途径仍然不清楚。在这里,我们创建了“基准测试”(Benchmark)来严格评估现有工具,并发现…

5步掌握Python Django+Vue二手房项目,实现房价预测与知识图谱系统

🍊作者:计算机毕设匠心工作室 🍊简介:毕业后就一直专业从事计算机软件程序开发,至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长:按照需求定制化开发项目…

【SpringBoot】电脑商城-07-上传头像

基于SpringMVC的文件上传 1 MultipartFile接口 MultipartFile接口常用的的API见下表: 方法功能描述String getOriginalFilename()获取上传文件的原始文件名,即该文件在客户端中的文件名boolean isEmpty()判断上传的文件是否为空,当没有选择…

1-Wired一线式总线

常见的几种通信接口 一线式总线 定义 一线式:说明CPU和外设之间数据通信只需一根信号线,此信号线必然是数据线,并且数据线连接了一个上拉电阻,默认为高电平串行:说明CPU和外设的数据通信一个时钟周期传输一个bit位 问:没有时钟…

GoWeb 设置别名和多环境配置

别名 vite.config.ts中添加代码如下即可 //设置别名resolve: {alias: {"": path.resolve(process.cwd(),"src"),//用替代src}}随后即可使用 配置多环境 vite.config.ts中添加代码如下 envDir: ./viteenv,//相对路径随后在项目根目录创建对应的viteenv…

WEB渗透Win提权篇-RDPFirewall

渗透测试60w字全套md笔记:夸克网盘分享 爆破RDP Hydra爆破RDP >hydra -l admin -P /root/Desktop/passwords -S 192.168.0.0 rdpNlbrute MSF开启 >run post/windows/manage/enable_rdp多用户登陆 Mimikatz设置允许多用户登录 >privilege::debug >t…

游戏开发设计模式之单例模式

单例模式(Singleton Pattern)是一种常见的设计模式,其主要目的是确保一个类在整个程序的生命周期中只有一个实例,并提供一个全局访问点来获取这个实例。在游戏开发中,单例模式具有广泛的应用和重要的作用。 单例模式的…

Vue3-win7搭建vue3环境

Vue3-win7搭建vue3环境 官方要求的信息是是node.js 18.03以上。而我的环境:win7 x64, vscode 1.34。 参考网址: 0、基本的安装 https://blog.csdn.net/m0_49139268/article/details/126159171 a、这里有各种安装包的下载路径(镜…

FedoSSL

题目:《Towards Unbiased Training in Federated Open-world Semi-supervised》 来源:ICML2023 注意比较与 ORCA 的区别 Abstract 联邦半监督学习(FedSSL)已经成为一种新范式,允许分布式客户端在稀缺的标记数据和丰富…

chapter08-面向对象编程(重写)day09

目录 302-方法重写介绍 303-方法重写细节 304-方法重写课堂练习1 305-方法重写课堂练习2 302-方法重写介绍 本类有这个方法就调用本类的,没有就向父类查找 303-方法重写细节 子类的形参列表、方法名称要和父类完全一致子类的返回类型(String&#x…

【Hot100】LeetCode—200. 岛屿数量

目录 1- 思路DFS 深搜 2- 实现⭐200. 岛屿数量——题解思路 3- ACM 思路 题目连接:200. 岛屿数量 1- 思路 DFS 深搜 在遍历中对 res 结果进行 操作 。遇到一个陆地结果为 1 的地方, 就将他们直接填充为 0 思路 ① 先遍历,收集 res② 之后…