博客
记录技术探索与思考 · 共 655 篇
大数据-53:Kafka 组件详解——Producer、Broker、Consumer 全流程
深入拆解 Kafka 三大核心组件的工作原理:Producer 分区策略与 ACK 机制、Broker 的 Leader/Follower 架构、Consumer Group 的分区分配与偏移量管理。
大数据-54:Kafka 安装部署——从 ZooKeeper 到 KRaft 的架构演进
介绍 Kafka 2.x 与 3.x 的核心差异,详细讲解集群安装步骤、ZooKeeper 配置、Broker 参数设置,以及 KRaft 模式如何彻底替代 ZooKeeper 依赖。
大数据-133 ClickHouse 概念与基础|为什么快?列式 + 向量化 + MergeTree 对比
面向高并发、低延迟 OLAP 场景,本文从工程视角讲清 ClickHouse 的底层优势(列式+压缩+向量化、MergeTree 家族)、适用与不适用边界、数据建模基本法以及近似统计的性能-精度权衡。
大数据-134 ClickHouse 单机+集群节点落地手册 | 安装配置 | systemd 管理 / conf...
官方推荐的 keyring + signed-by 在 Ubuntu 安装 ClickHouse,并用 systemd 启动与自检;提供单机最小示例(建库建表/插入/查询)。集群部分给出 ClickHouse Keeper 三节点最小配置与三步自检,建议用 config.d/users.d 管理配置、password_sha256_hex 替代明文、限制远程网段并启用 TLS。
大数据-131 Flink CEP 实战 24 小时≥5 次交易 & 10 分钟未支付检测 案例附代码
Flink CEP(Complex Event Processing)复杂事件处理机制,结合实际案例深入讲解其在实时流式计算中的应用原理与实战实现。通过定义事件模式(Pattern)、模式流(PatternStream)及 select 函数,开发者可从实时数据流中精准识别特定事件序列,用于欺诈检测、订单超时、用户行为分析、物联网监控等高频业务场景。
大数据-132 Flink SQL 实战入门 | 3 分钟跑通 Table API + SQL 含 toChang...
工程视角快速跑通 Flink SQL:提供现代依赖(不再使用 blink 规划器)、最小可运行示例(MRE)、Table API 与 SQL 互操作;输出使用 toChangelogStream 验证变更流。附窗口与时态表示例、常见错误速查与版本兼容提示,适合实时 ETL/分析入门。
大数据-129 Flink CEP详解:实时流式复杂事件处理(Complex Event Processing)全解析
Flink中专用于复杂事件流实时分析的核心组件,提供完整的模式匹配框架,支持基于事件时间(Event Time)的乱序处理与高性能NFA(非确定性有限自动机)匹配机制。它允许开发者通过Pattern API定义复杂的事件序列规则,如严格连续、宽松连续、循环匹配与时间窗口约束等,实现毫秒级延迟下的欺诈检测、物联网监控、实时风控与用户行为分析等业务场景。相比传统CEP系统(如Esper),Fli...
大数据-130 Flink CEP 详解 - 捕获超时事件提取全解析:从原理到完整实战代码教程 恶意登录案例实现
Flink CEP 超时事件提取是流处理中的关键环节,用于在模式匹配过程中捕获超过窗口时间(within)的部分匹配事件。通过 select()、flatSelect() 和 process() API,开发者可以同时处理成功匹配和超时事件,实现复杂事件流的精确监控。本文详细介绍了 Flink CEP 的完整开发流程。
大数据-51:Redis 高可用架构——主从复制与哨兵机制
深入解析 Redis 高可用实现原理,涵盖主从复制同步机制、哨兵模式自动故障转移流程,以及分布式锁设计思路,并附 Docker 部署示例。本文深入分析原理与实践应用,帮助读者全面理解核心技术要点。
大数据-52:Kafka 架构解析——高吞吐分布式消息系统设计
系统介绍 Kafka 的核心架构设计,包括 Topic/Partition/Replica 模型、ISR 机制、零拷贝优化、消息格式与典型应用场景,理解 Kafka 实现百万级 TPS 的工程原理。
大数据-127 Flink StateBackend详解:Memory、Fs、RocksDB 与 Operator...
ManagedOperatorState用于管理无键(non-keyed)状态,实现算子在故障恢复或扩缩容时的状态一致性。开发者可通过实现CheckpointedFunction接口来使用ManagedOperatorState,支持ListState和BroadcastState两种数据结构。
大数据-128 Flink 并行度详解:从概念到最佳实践,一文读懂任务并行执行机制
Flink 中,并行度(Parallelism)是衡量任务并发处理能力的核心参数,决定了每个算子(Operator)可以同时运行的任务数量。合理设置并行度能显著提升作业的吞吐量与资源利用率。Flink 支持多层级的并行度配置,包括全局、作业级、算子级和系统级,可通过 env.setParallelism()、CLI 提交参数 -p 或 flink-conf.yaml 文件进行灵活设置。并行度...
大数据-125 Flink 实时流计算中的动态逻辑更新:广播状态(Broadcast State)全解析
广播状态(Broadcast State)是 Apache Flink 中支持流式应用动态更新逻辑的重要机制,广泛应用于实时风控、用户行为分析、动态规则评估等场景。它允许低吞吐量的配置流(如规则、模型、参数)广播至所有并行任务实例,使各算子在不重启的情况下即时应用新逻辑。典型案例是实时欺诈检测系统:高频交易流与低频规则流并行处理,规则更新可通过广播状态分发至各处理节点,实现业务逻辑热更新。
大数据-126 Flink一文搞懂有状态计算:State Backend 工作原理与性能差异详解 核心原理与作用
状态存储(State Backend)是其实现有状态流计算的核心机制,决定了数据的可靠性、性能与容错性。Flink 提供三种内置存储后端:MemoryStateBackend、FsStateBackend 与 RocksDBStateBackend。MemoryStateBackend 将状态保存在内存中,速度快但不适合生产;FsStateBackend 支持持久化到 HDFS,适合大状态与...
大数据-123 Flink 并行度设置优先级讲解 原理、配置与最佳实践 从Kafka到HDFS的案例分析
一个Flink程序由多个Operator组成(Source、Transformation、Sink)。一个Operator由多个并行的Task(线程)来执行,一个Operator的并行Task(线程)数目就被称为该Operator(任务)并行度(Parallelism)。Flink 中的并行度是指每个算子在任务执行时可以同时处理数据的并发实例数。
大数据-124 Flink State:Keyed State、Operator State KeyGroups ...
根据是否依赖中间状态,Flink 计算可分为有状态和无状态两种类型:无状态计算(Stateless Computation)如 Map、Filter、FlatMap 等操作,每条数据独立处理,执行效率高、可线性扩展;而有状态计算(Stateful Computation)则需保存中间结果或上下文,如窗口聚合、异常检测、去重等典型场景。
大数据-49 Redis 缓存五大问题:穿透、击穿、雪崩、热 Key、大 Key 全解
系统梳理 Redis 在高并发场景下最常见的五类缓存问题:缓存穿透、缓存击穿、缓存雪崩、热 Key 和大 Key,分析每种问题的成因并给出可落地的解决方案。本文深入分析原理与实践应用,帮助读者全面理解核心技术要点。
大数据-50 Redis Java Lua 实现乐观锁、WATCH 与 SETNX 分布式锁
Redis 乐观锁实战:WATCH/MULTI/EXEC 机制详解,Lua 脚本实现原子操作,SETNX+EXPIRE 分布式锁从基础到 Redisson,Java 代码完整示例。
大数据-121 Flink 时间语义详解:EventTime、ProcessingTime、IngestionTi...
Watermark 是一个特殊的标志,它用于告诉 Flink 数据流中事件的进展情况。简单来说,Watermark 是 Flink 中估计的"当前时间",表示所有早于该时间戳的事件都已经到达。Flink 认为当前时间在 Watermark 时间戳之前的所有事件已经接收完毕,不再期待有早于该时间戳的事件。当 Watermark 时间戳更新时,系统可以触发基于事件时间的窗口操作,比如窗口计算...
大数据-122 Flink Watermark 全面解析:事件时间窗口、乱序处理与迟到数据完整指南
Flink 的 Watermark(水印)机制 是事件时间窗口计算中最核心的概念之一,用于处理 乱序事件(Out-of-Order Events) 并确保窗口准确触发。它通过定义系统认为"之前事件已全部到达"的时间点,来决定窗口计算的时机。当 Watermark ≥ 窗口结束时间时,Flink 才会触发窗口聚合计算。通过配置 最大乱序时间(Bounded Out-of-Orderness...