随笔分类 -  Work Scenario

记录些所见所遇(实际场景下)
摘要:出现 `CommitFailedException` 的根本原因是 **消费者处理消息的总时间超过了 `max.poll.interval.ms` 配置的阈值**,导致 Kafka Broker 认为该消费者已失效,触发 Rebalance 并将分区重新分配给其他消费者。此时原消费者尝试提交偏移量时,已不再拥有对应分区的所有权。 阅读全文
posted @ 2025-03-24 18:55 J九木 阅读(91) 评论(0) 推荐(0)
摘要:以下是实现Kafka数据直接同步到数据库的完整方案及实施步骤,涵盖工具选型、数据转换、性能优化等关键环节: 一、技术选型对比 方案 工具 优点 适用场景 是否需要编码 原生连接器 Kafka Connect + JDBC Sink 官方支持,配置简单 结构化数据同步 仅配置 流处理引擎 Kafka 阅读全文
posted @ 2025-03-04 09:53 J九木 阅读(365) 评论(0) 推荐(0)
摘要:布隆过滤器全方位解析(原理→应用→避坑指南) 一、核心原理剖析 1. 数据结构原理 graph TD A[元素输入] --> B[多个哈希函数] B --> C[位数组索引映射] C --> D{所有位是否为1} D -->|是| E[可能存在] D -->|否| F[绝对不存在] 2. 数学公式推 阅读全文
posted @ 2025-02-19 14:17 J九木 阅读(138) 评论(0) 推荐(0)
摘要:org.springframework.data.redis.RedisSystemException: Redis exception; nested exception is io.lettuce.core.protocol.RedisProtocolException: Invalid fir 阅读全文
posted @ 2025-02-19 14:15 J九木 阅读(236) 评论(0) 推荐(0)
摘要:MongoDB 慢查询深度优化指南(检测→分析→调优) 一、慢查询检测体系 1. 三层检测机制 graph TD A[实时检测] --> B[Profiling日志] C[持续监控] --> D[Database Profiler] E[深度分析] --> F[Explain+执行计划] 2. 生产 阅读全文
posted @ 2025-02-12 18:33 J九木 阅读(171) 评论(0) 推荐(0)
摘要:Kafka的本质是日志消息代理 日志的特点就是append-only和不可变 它能带来的显而易见的好处是强大的局部性 内存中可以抽象为buffer 内核态里它又是page cache 磁盘上它会集中在同一磁道 从上至下利于软件和操作系统进行快速写入 这也是为什么大量知名系统 不论是MySQL Ser 阅读全文
posted @ 2025-02-05 23:31 J九木 阅读(73) 评论(0) 推荐(0)
摘要:在高并发分布式场景下,使用 UUID 或雪花算法作为主键时,需要考虑其稳定性和潜在问题。以下是一些常见问题和解决方法: 1. 使用 UUID 作为主键 问题: 无序性:UUID 通常是无序的,这会导致数据库索引性能下降,尤其是在 B-tree 索引结构中。 存储开销:UUID 的长度较长(128 位 阅读全文
posted @ 2025-02-05 23:19 J九木 阅读(102) 评论(0) 推荐(0)
摘要:概述 Spring通过@Configuration注解把对应类识别为配置类 可以创建CaffeineCacheManager的setCaffeine来配置缓存管理器,如过期时间,缓存最大条数,缓存空间,淘汰策略。 将缓存管理器交给Spring管理,@Bean 将缓存的组件注入Spring,通过@Co 阅读全文
posted @ 2025-02-05 23:17 J九木 阅读(68) 评论(0) 推荐(0)
摘要:LRU算法 LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间 t,当须淘汰一个页面时,选择现有页面中其 t 值最大的,即最近最少使用的页面予以 阅读全文
posted @ 2025-02-05 23:00 J九木 阅读(68) 评论(0) 推荐(0)
摘要:一点前言 1. 客户端发现与服务端发现 在一个系统中,服务通常需要调用其他服务。单体应用中,服务通过语言级别的方法或者过程调用另外的服务。在传统的分布式部署中,服务运行在固定,已知的地址主机和端口,因此可以请求的通过HTTP/REST或其他RPC机制调用。 然而,一个现代的微服务应用通常运行在虚拟或 阅读全文
posted @ 2025-02-05 22:57 J九木 阅读(63) 评论(0) 推荐(0)
摘要:Kafka 是一个分布式流处理平台,传统上使用 Apache ZooKeeper(ZK)来管理和协调分布式集群中的集群元数据和配置。ZooKeeper 在 Kafka 中主要用于以下任务: 集群元数据管理:存储和更新 Kafka 代理(broker)和主题的信息。 分区领导者选举:帮助选举 Kafk 阅读全文
posted @ 2025-01-17 17:36 J九木 阅读(320) 评论(0) 推荐(0)
摘要:大多数情况下,我们都是需要反向代理或者负载均衡时,就配置下nginx。但是我们做了这么久项目,肯定有微服务分布式的吧,这时候服务需要动态注册到实例列表里被发现,而nginx是缺乏动态性的,这时就要nacos了 Nacos 实现负载均衡的一般步骤 我们知道nginx大体上是通过将前端发来的请求按照配置 阅读全文
posted @ 2025-01-15 11:24 J九木 阅读(347) 评论(0) 推荐(0)
摘要:引用的别人的总结内容。鉴于实际场景遇到的短信恶意发送问题,搜索一些解决办法时,看到的该篇文章 阅读全文
posted @ 2025-01-09 17:39 J九木 阅读(30) 评论(0) 推荐(0)
摘要:MongoDB 全方位解析(基础 → 进阶 → 生产实践) 一、核心架构解析 1. 存储引擎对比 graph TD A[存储引擎] --> B[WiredTiger] A --> C[In-Memory] A --> D[Encrypted] B --> E[文档级并发控制] B --> F[压缩算 阅读全文
posted @ 2025-01-09 16:40 J九木 阅读(41) 评论(0) 推荐(0)
摘要:等写~~~ 阅读全文
posted @ 2025-01-09 16:38 J九木 阅读(7) 评论(0) 推荐(0)
摘要:应该都写过代码里的定时任务,启动类加个注解,任务头上加个注解哈,但这个定时任务是写死在当前代码里的,部署到哪,在哪定时生效。而 XXL-JOB 是一个分布式任务调度平台,它提供了丰富的功能来管理和执行定时任务。以下是使用 XXL-JOB 的一个简单流程,包括相关的代码实现和操作步骤: 预备条件 XX 阅读全文
posted @ 2025-01-09 15:52 J九木 阅读(130) 评论(0) 推荐(0)
摘要:其实做了这么些大数据的东西,包括BI工具做可视化,我们至今是没有引入hadoop的,纯硬解硬写,我在此文建立的时刻还是没有真实的项目内使用hadoop的经历。故而大量查阅和记录一些内容,目的是总结规整一些内容,以便于建立基本认识,以及未来若用到可以快速查询,不再需要紧急的大量搜寻零散的知识。 一、H 阅读全文
posted @ 2025-01-09 14:46 J九木 阅读(87) 评论(0) 推荐(0)
摘要:有些小量数据其实也并非放在redis这样的缓存里的,因为数据量百万千万时,若是要比对数据,岂不是要让这个小数据和大数据进行百万千万次的交互比对。那就不如把小数据提前加载到本地内存或者缓存,如果小数据需要更新,则可以定时job更新或者手动用接口更新,或者数据发生变化时调用更新。可是如果你的服务部署在两 阅读全文
posted @ 2024-12-24 09:52 J九木 阅读(183) 评论(0) 推荐(0)
摘要:我在前面其他内容中说到kafka时,聊到append-only,想着要么单独以这个为维度来从另一个视角讲些东西 个人浅见 首先顾名思义啊,append-only是仅追加。也就是数据的存储是不会改变原有内容的,是追加在后面进行记录的。追加写入的操作通常比随机写入高效,因为它减少了写操作需要的磁盘寻址时 阅读全文
posted @ 2024-12-12 16:47 J九木 阅读(193) 评论(0) 推荐(0)
摘要:请求响应(Request-Response)和事件响应(Event-Driven)是两种常见的软件和系统设计框架,它们在目的、设计和实现方式上存在明显的区别。我们在项目里常用的什么redis啊,包括我之前说的那些响应式流,netty等,都有着事件驱动属性 一 、基本概念: 1. 请求响应框架 目的和 阅读全文
posted @ 2024-12-12 14:36 J九木 阅读(207) 评论(0) 推荐(0)