摘要: [TOC] # Zero-Copy 机制 > 零复制(英语:Zero-copy;也译零拷贝)技术是指计算机执行操作时,CPU不需要先将数据从某处内存复制到另一个特定区域。这种技术通常用于通过网络传输文件时节省CPU周期和内存带宽。 > -- 摘自:维基百科百科 [零复制](https://zh.wi 阅读全文
posted @ 2023-08-07 16:02 LARRY1024 阅读(1004) 评论(1) 推荐(2)
摘要: [TOC] # I/O模型种类 ## 概念 ### 同步与异步 - 同步:就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。 也就是必须一件一件事做,等前一件做完了才能做下一件事。 - 异步:就是当一个异步过程调用发出后,调用者不能立刻得到结果,调用者不用等待这件事完成,可以继续做其他的 阅读全文
posted @ 2023-08-04 17:26 LARRY1024 阅读(369) 评论(0) 推荐(0)
摘要: [TOC] # 基本概念 ## LEO **LEO(log end offset)** 称为**日志末端位移**,代表日志文件中下一条待写入消息的 offset,这个 offset 上实际是没有消息的。 分区 ISR 集合中的每个副本(所有的 leader 和 follower 副本)都会维护自身的 阅读全文
posted @ 2023-07-31 19:52 LARRY1024 阅读(957) 评论(0) 推荐(0)
摘要: [TOC] # 为什么需要事务呢? 在 Kafka 中设计事务主要针对表现出 **“读取-处理-写入”**(read-process-write) 模式的应用程序,其中读取和写入来自异步数据流(例如 Kafka 主题),即事务中同时包含读取消息、处理消息和写入消息过程,此类应用程序更普遍地称为**流 阅读全文
posted @ 2023-07-27 21:07 LARRY1024 阅读(538) 评论(0) 推荐(0)
摘要: [TOC] # 应用 | 序号 | 题目 | 备注 | | : : | | : : | | 1 | [300. 最长递增子序列](https://leetcode.cn/problems/longest-increasing-subsequence/) | | | 2 | [674. 最长连续递增序 阅读全文
posted @ 2023-07-24 17:31 LARRY1024 阅读(59) 评论(0) 推荐(0)
摘要: [TOC] # Broker 端 Broker 端参数也被称为静态参数(Static Configs),必须在 Kafka 的配置文件 server.properties 中进行设置的参数,不管是新增、修改还是删除。同时,你必须重启 Broker 进程才能令它们生效。 ## 存储信息相关参数 - ` 阅读全文
posted @ 2023-07-18 16:35 LARRY1024 阅读(427) 评论(0) 推荐(0)
摘要: [TOC] # 逻辑存储 ![image](https://raw.githubusercontent.com/dunwu/images/dev/snap/20210427195053.png) # 持久化 持久化是 Kafka 的一个重要特性。 Kafka 集群持久化保存(使用可配置的保留期限)所 阅读全文
posted @ 2023-07-10 17:14 LARRY1024 阅读(344) 评论(0) 推荐(0)
摘要: [TOC] # Kafka 和 ZooKeeper Kafka 使用 Zookeeper 来维护集群成员的信息。每个 Broker 都有一个唯一标识符,这个标识符可以在配置文件里指定,也可以自动生成。 在 Broker 启动的时候,它通过创建 **临时节点** 把自己的 ID 注册到 Zookeep 阅读全文
posted @ 2023-07-10 16:15 LARRY1024 阅读(726) 评论(0) 推荐(0)
摘要: 目录1. 消息不丢失1.1. 存储阶段1.1.1. 副本机制1.1.1.1. 副本数1.1.1.2. 不完全的选主1.1.1.3. 最少同步副本1.2. 生产阶段1.2.1. ACK1.2.2. 重试1.2.3. 错误处理1.3. 消费阶段1.3.1. 消费者的可靠性配置1.3.2. 显式提交偏移量 阅读全文
posted @ 2023-07-07 17:55 LARRY1024 阅读(162) 评论(0) 推荐(0)
摘要: 目录应用应用1:Leetcode 112. 路径总和题目分析DFS代码实现应用2:Leetcode 113. 路径总和 II题目分析回溯代码实现应用3:Leetcode 437. 路径总和 III题目分析方法一:DFS方法二:回溯 + 前缀和代码实现 应用 应用1:Leetcode 112. 路径总 阅读全文
posted @ 2023-07-07 14:39 LARRY1024 阅读(113) 评论(0) 推荐(0)
摘要: 目录应用应用1:Leetcode 647. 回文子串题目解题思路动态规划边界条件状态转移代码 应用 应用1:Leetcode 647. 回文子串 题目 647. 回文子串 解题思路 动态规划 设 \(dp[i][j]\) 表示子串 \(s[i \cdots j]\) 是否是回文子串,若 \(dp[i 阅读全文
posted @ 2023-07-06 14:53 LARRY1024 阅读(44) 评论(0) 推荐(0)
摘要: 目录应用应用1:Leetcode 131. 分割回文串题目分析代码实现 应用 应用1:Leetcode 131. 分割回文串 题目 131. 分割回文串 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。回文串 是正着读和反着读都一样的字符串。 阅读全文
posted @ 2023-07-05 18:02 LARRY1024 阅读(40) 评论(0) 推荐(0)
摘要: 目录消费者简介pull 模式消费者消费者群组消费流程消费者 API创建消费者订阅主题轮询获取消息手动提交偏移量同步提交异步提交重试异步提交同步和异步组合提交提交特定的偏移量从特定偏移量处开始处理关闭连接分区再均衡什么是分区再均衡何时生分区再均衡分区再均衡的过程如何判定消费者已经死亡查找协调者分区再均 阅读全文
posted @ 2023-07-05 09:35 LARRY1024 阅读(255) 评论(0) 推荐(0)
摘要: [TOC] # 生产者简介 不管是把 Kafka 作为消息队列系统、还是数据存储平台,总是需要一个可以向 Kafka 写入数据的生产者和一个可以从 Kafka 读取数据的消费者,或者是一个兼具两种角色的应用程序。 使用 Kafka 的场景很多,诉求也各有不同,主要有:是否允许丢失消息?是否接受重复消 阅读全文
posted @ 2023-07-04 17:32 LARRY1024 阅读(193) 评论(0) 推荐(0)
摘要: # Kafka 简介 Apache Kafka 是一款开源的**消息引擎系统**,它的主要功能是提供一套完备的消息发布与订阅解决方案。在 Kafka 中,发布订阅的对象是主题(Topic),你可以为每个业务、每个应用甚至是每类数据都创建专属的主题。 也是一个分布式流计算平台,此外,还可以作为数据存储 阅读全文
posted @ 2023-07-04 14:40 LARRY1024 阅读(154) 评论(0) 推荐(0)
摘要: 目录Bellman-Ford 算法记号过程举例应用应用1:Leetcode 787. K 站中转内最便宜的航班题目分析方法一:动态规划边界条件状态转移方法二:Bellman Ford 算法代码实现 Bellman-Ford 算法 贝尔曼-福特(Bellman–Ford)算法是一种基于松弛(relax 阅读全文
posted @ 2023-07-04 11:11 LARRY1024 阅读(861) 评论(0) 推荐(2)
摘要: 目录应用应用1:Leetcode 1834. 单线程 CPU题目分析代码实现应用2:Leetcode 621. 任务调度器题目分析代码实现 应用 应用1:Leetcode 1834. 单线程 CPU 题目 1834. 单线程 CPU 给你一个二维数组 tasks ,用于表示 n 项从 0 到 n - 阅读全文
posted @ 2023-06-15 15:53 LARRY1024 阅读(53) 评论(0) 推荐(0)
摘要: 目录应用应用1:396. 旋转函数题目分析代码实现 应用 应用1:396. 旋转函数 题目 396. 旋转函数 给定一个长度为 n 的整数数组 nums 。 假设 arrk 是数组 nums 顺时针旋转 k 个位置后的数组,我们定义 nums 的 旋转函数 F 为: F(k) = 0 * arrk[ 阅读全文
posted @ 2023-06-08 18:21 LARRY1024 阅读(27) 评论(0) 推荐(0)
摘要: 目录简介应用应用1:Leetcode 33. 搜索旋转排序数组题目分析方法一算法步骤方法二算法步骤代码实现方法一方法二应用2:Leetcode 81. 搜索旋转排序数组 II题目分析代码实现应用3:Leetcode 378. 有序矩阵中第 K 小的元素题目分析方法一:二分查找方法二:归并排序代码实现 阅读全文
posted @ 2023-06-06 15:11 LARRY1024 阅读(49) 评论(0) 推荐(0)
摘要: 目录欧拉图定义性质判别方法无向图有向图示例求欧拉回路的方法Fleury 算法Hierholzer 算法实现性质应用计算机译码应用应用1:洛谷 P2731 骑马修栅栏题目解题思路代码实现应用2:Leetcode 753. 破解保险箱题目解题思路题意转换思路Hierholzer 算法代码实现应用3:Le 阅读全文
posted @ 2023-05-30 17:43 LARRY1024 阅读(368) 评论(0) 推荐(1)