自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小工匠

show me the code ,change the world

  • 博客(2259)
  • 资源 (12)
  • 收藏
  • 关注

原创 小工匠聊架构文章一览【不间断持续更新】

文章摘要 本文系统梳理了微服务架构与分布式技术的核心知识体系,包含三大板块: 微服务布道系列:详细解析从单体架构到服务化的演进路径,涵盖服务注册发现、RPC调用、监控追踪等12个核心主题; 分布式理论篇:深入剖析CAP定理、BASE理论、Paxos算法等分布式系统基石理论; 分布式实战篇:聚焦事务、服务、缓存、存储四大场景,提供两阶段提交、TCC模型、热点key治理等20余种解决方案。文中配有清晰的技术架构图,每个主题均附详细技术文章链接,形成完整的技术图谱。

2020-11-12 00:01:55 84314 9

原创 设计模式 - 反转原则:DIP(Dependence Inversion Principle)最佳实践

本文深入剖析了依赖反转原则(DIP)的核心概念与实践应用。通过电商交易和HTTP协议的类比,阐释了"高层组件不依赖低层组件,二者都应依赖抽象"的设计思想。文章展示了四种代码设计演化过程:从完全耦合到仅高层抽象,再到双向依赖抽象(实现DIP),最后结合IoC容器实现自动化依赖注入。同时辨析了DIP与IoC、DI等概念的区别与联系,指出DIP是顶层设计原则,而DI和IoC容器是其具体实现手段。合理运用DIP能够有效控制代码变化影响范围,提升系统的可读性和可维护性。

2025-07-12 06:30:00 409

原创 设计模式 - 面向对象原则:SOLID最佳实践

SOLID原则是面向对象设计的五大核心准则,旨在构建低耦合、易维护的系统。但实践中常被机械套用,导致过度设计。文章通过实例解析了每项原则的正确应用: 单一职责(SRP):应以"变化原因"而非功能数量界定职责,如将Book类的打印/阅读逻辑拆分到独立类; 开闭原则(OCP):更适用于框架设计(如Spring的AbstractDataSource扩展),业务代码直接修改可能更高效; 里氏替换(LSP):强调子类必须完全遵守父类契约,如Spring属性编辑器通过规范继承实现多态; 接口隔离(I

2025-07-11 22:41:33 221

原创 Web安全 - 基于 SM2/SM4 的前后端国产加解密方案详解

本文介绍了在信息安全法规要求下,如何采用国产加密算法SM2和SM4实现前后端安全通信。文章从法规背景出发,对比了算法特性,详细阐述了加密流程:前端使用SM2公钥加密随机生成的SM4密钥,并用SM4加密业务数据;后端用SM2私钥解密获取SM4密钥,再解密业务数据。文中提供了前后端伪代码示例,强调密钥管理、性能优化和兼容性等最佳实践,并推荐了符合等保三级要求的SmartAdmin开发平台。该方案兼顾安全性与实施可行性,满足《网络安全法》等法规对敏感数据保护的要求。

2025-07-11 19:45:00 435

原创 Web安全 - HTTP Host 头攻击原理与防御措施

HTTP Host头攻击是网络安全中的常见漏洞,主要由于服务器过度信任或未校验Host头导致。攻击者通过篡改Host头可实施缓存投毒、SSRF、密码重置劫持等攻击。测试方法包括修改Host值、检查验证缺陷、利用多Host头或绝对URL等。防护措施包括严格Host验证、限制额外头覆盖、使用Nginx配置白名单等。理解Host头的作用机制和安全风险,并采取有效防护,对保障Web应用安全至关重要。

2025-07-09 06:15:00 1794

原创 OpenSource - AI 产品经理工具图谱

【AI产品经理工具图谱】提供覆盖产品全生命周期的专业工具,分为6大类:1️⃣产品规划类(AI精益价值树、路线图等9项)2️⃣需求分析类(用户故事地图、Notion AI等5项)3️⃣原型设计类(Figma AI、Vercel V0等11项)4️⃣交付开发类(Cursor、Replit)5️⃣用户测试类(Maze、Gemini)6️⃣智能创作类(ChatGPT、Claude等8项)。所有工具均附带直达链接,部分工具提供中英文对照。数据源自kkjm.space,助力AI产品经理高效完成全流程工作。

2025-07-09 04:45:00 983

原创 OpenSource - 开源可视化大屏的低代码利器GoView

GoView是一款开源数据可视化大屏开发平台,具有低代码、开箱即用的特点。核心亮点包括开源免费、高度可视化、低代码开发、灵活组件配置和高性能优化。技术栈基于Vue3+TypeScript+Vite+ECharts,提供丰富图表组件和多样展示形式。项目采用前后端分离架构,已有Java、.NET、Node等多语言后端实现。适用于企业看板、实时监控、BI报告等场景,通过社区支持和文档资源,开发者可快速构建精美可视化大屏。

2025-07-08 06:15:00 1161

原创 每日一博 - 基于 Access Token 和 Refresh Token实现无感刷新

双Token机制实现安全无感刷新方案 摘要: 双Token机制采用Access Token(短期有效)和Refresh Token(长期有效)的组合方案。用户登录时获得两个Token,Access Token用于接口鉴权,Refresh Token用于Token刷新。当Access Token过期时,客户端自动使用Refresh Token请求新Token,实现无感刷新。该方案通过拦截器实现过期检测(返回511状态码)和自动刷新,并考虑安全防护(HttpOnly、防重放)和性能优化(并发控制)。服务端需验证

2025-07-08 05:15:00 1060

原创 每日一博 - 线程池异常处理的三种方案

线程池异常处理机制与最佳实践总结 在生产环境中,线程池任务异常若未正确处理会导致任务静默失败、系统不稳定等问题。本文通过模拟线程池异常场景,对比submit与execute的异常处理差异,并提出三种解决方案:1)任务内部try-catch(简单但侵入性强);2)Thread.setDefaultUncaughtExceptionHandler全局处理(仅适用于execute);3)重写ThreadPoolExecutor的afterExecute方法(统一处理所有异常)。 最佳实践建议:关键任务使用方案一定

2025-07-08 04:45:00 924

原创 LLM - 一文搞懂 AI Agent 八大核心概念

本文系统解析了AI Agent的八大核心技术概念:1)具备自主决策能力的智能体(Agent);2)多智能体协作系统(Multi-Agent System);3)结合检索与生成的RAG技术;4)任务执行流程化的Work Flow;5)针对行业优化的微调技术;6)连接外部系统的Function Calling;7)标准化的MCP协作协议;8)实现智能体互通的A2A协议。文章通过智能旅行规划、工厂自动化等案例,展示了这些技术在实践中的应用价值,同时客观分析了准确性、可靠性、数据依赖等关键挑战。这些核心技术共同构成

2025-07-07 06:15:00 1206

原创 每日一博 - Arthas 一点通

Arthas是一款强大的线上诊断工具,能实时监控JVM状态、追踪方法调用,无需修改代码或重启服务。它提供dashboard全局监控、thread线程分析、trace方法链路追踪等核心功能,支持热更新代码和反编译类文件。典型应用场景包括内存泄漏排查、接口性能优化等。通过Java Agent和字节码织入技术实现无侵入诊断,并支持命令行与Web双模交互。作为开发者的"线上急诊室",Arthas能快速定位生产环境问题,是提升故障排查效率的利器,掌握其使用可显著增强工程师的线上问题处理能力。

2025-07-07 04:45:00 789

原创 设计模式 - 职责原则:职责分离(高内聚,低耦合)最佳实践

在面向对象编程中,“职责分离”被奉为圭臬,但什么是真正的职责分离?模块拆得越多越好?按需求分配就是职责分离?本文将用实战案例揭示职责分离的本质、时机与方法,帮你写出高内聚、低耦合的优雅代码。

2025-07-05 05:45:00 1033

原创 设计模式 - 表达原则:Program Intently and Expressively (PIE)最佳实践

摘要:提升代码可读性的核心方法与价值 代码可读性差是开发中的常见痛点,表现为文档缺失、命名晦涩、故障难排查等问题。提升可读性带来四大好处:易维护、易重构、易测试、易应用设计模式。通过表达原则(PIE),将代码视为文档,清晰表达意图。改进方法包括:1)优化命名、格式与注释;2)简化控制流,如快速失败与扁平化逻辑;3)避免惯性思维(如复制粘贴、过度简化)。最终,高可读性代码能显著提升团队效率,降低维护成本。

2025-07-05 04:15:00 722

原创 设计模式 - 最少原则:迪米特法则(Law of Demeter,LoD)最佳实践

摘要: 迪米特法则(LoD)是降低对象间耦合的关键设计原则,强调对象只应与直接关联的“邻居”交互,避免深入调用链式结构。本文通过超市结账和电商订单系统的案例,展示了违反LoD的典型场景(如ctxt.getOptions().getScratchDir()这类链式调用)及其重构方法。重构核心在于将跨层操作封装到对象内部(如让Customer自行处理支付逻辑,或为User添加getShippingZip()方法),使调用方仅需与直接依赖对象通信。该法则优势在于提升封装性、降低修改影响面,但需警惕过度解耦导致的中

2025-07-04 06:30:00 771

原创 设计模式 - 简单原则:YAGNI 与 KISS最佳实践

KISS(Keep It Simple and Stupid)原则是提升代码质量的关键。本文探讨了简单代码的价值:防止腐坏、降低维护成本并支持敏捷迭代。澄清了对"简单"的常见误解,强调其本质是复杂度的持续控制,而非单纯减少代码量或过度简化。提出了"四不要"(如避免补丁式编码)和"四要"(如定期Code Review)的实践方法,并对比了YAGNI原则的互补作用。最终指出,简单是开发者主动管理复杂度的结果,需要持续付出才能实现真正的代码可维护性。

2025-07-04 05:15:00 1255

原创 设计模式 - 单一原则:DRY最佳实践

DRY原则(Don't Repeat Yourself)强调避免代码重复,但实践中易陷入三大陷阱:1)过早追求重用性,导致过度抽象;2)过度设计未来需求,增加开发负担;3)编写一次性代码(如硬编码),产生技术债务。规避策略包括:先完成可用代码再优化、结合上下文适度设计、坚持编写清晰可维护的代码。建议将DRY视为辅助工具而非教条,允许适当重复,避免错误抽象。核心在于平衡原则与实用性,警惕机械应用带来的反效果。(150字)

2025-07-03 06:15:00 424

原创 设计模式 - 迭代思维:如何高效编程

高效编程:超越编码的思维跃升 编程效率并非仅取决于编码速度,而是由五个关键要素构成的系统:1)原则(问题闭环、深度思考、持续学习);2)工具(环境预研、代码复用);3)编码(避免低效模式,注重思考);4)反馈(及时同步进度与问题);5)迭代(版本化记录与经验沉淀)。真正的编程效率是编码、讨论、学习与反思的综合体现,需要从工作流视角优化整个开发过程,而非局限于代码编写环节。五个要素的协同作用,才能实现可持续的高效编程。

2025-07-03 05:00:00 946

原创 设计模式 - 对象思维:OOP

面向对象编程(OOP)是一种基于对象抽象的软件设计范式,具有封装、继承和多态三大特性。相比于传统编程方式,OOP提供了三大核心优势:1)模块化设计便于团队协作开发;2)对象结构提升代码可读性和复用性;3)组合与聚合机制推动组件化发展。作为主流的编程范式,OOP通过系统化的对象抽象方法,有效解决了软件复杂度管理、代码复用和维护等问题,是现代软件开发中不可或缺的重要技术。

2025-07-02 06:00:00 575

原创 设计模式 - 工程思维:不是你不够努力,而是你缺少一套“软件工程思维”

《软件工程思维:从编码者到工程师的蜕变》摘要 软件开发不应仅关注代码实现,更需要系统化的工程思维。软件工程包含三要素:结构化过程(分析→设计→实现→测试→交付)、科学方法论(如敏捷开发、TDD)和配套工具链。其核心价值在于提升开发效率(合理分配资源)和保障可靠性(建立质量流程)。文章提出五大实践建议:用项目视角审视工作、聚焦业务目标、计划先于编码、结构化沟通、强调结果交付。真正的软件开发不等于写代码,而是通过工程化管理交付完整解决方案。掌握软件工程思维,开发者才能从技术执行者成长为能驾驭复杂项目的工程师。

2025-07-02 04:45:00 983

原创 设计模式 - 分层思维:分层架构背后的设计哲学

本文系统阐述了软件架构中的分层设计理念。首先区分了功能性需求与非功能性需求,指出架构是实现后者的关键。在分层架构部分,解析了其三大要素(代码、模块关系、属性)和核心原则(单向调用),并对比了部署与程序内部分层。通过HTTP通信示例,展示了分层如何拆解复杂功能、提升扩展性。文章总结了分层架构的优势(低耦合、可复用)与劣势(开发成本、性能开销),强调其本质是抽象思维工具,适用于中小规模系统,而超大规模场景可能需要微服务等其他模式。

2025-07-01 22:37:49 665

原创 设计模式 - 组合思维_Unix 设计哲学三大原则

Unix哲学源于20世纪60年代的操作系统设计经验,其核心思想可归纳为三大原则:简单清晰性、组合理念和数据驱动思维。首先强调"一个程序只做一件事",通过减少硬编码、谨慎技术选型和统一规范来降低复杂度。其次倡导模块化组合设计,通过标准接口实现组件可替换性,避免定制化驱动的烂设计。最后提出数据驱动编程,将数据结构与算法分离,注重数据兼容性设计。这些原则不仅影响了早期软件开发,至今仍对构建可维护、可扩展的系统具有重要指导意义,体现了聚焦实效、挑战权威的思考方法。

2025-07-01 06:46:37 966

原创 每日一博 - Entity & DTO 最佳实践

摘要: 在Spring Boot开发中,直接复用JPA实体作为API参数和响应存在严重隐患。文章通过User类示例揭示了混用带来的问题:敏感数据泄露(如密码)、字段变更影响全链路、业务边界模糊等。解决方案是采用DTO分层模式:输入DTO(如CreateUserRequest)隔离前端可控字段,输出DTO(如UserDTO)控制数据暴露范围,并通过MapStruct自动实现实体-DTO映射。示例项目展示了标准分层结构(实体/dto/mapper),强调通过Service层强制业务规则(如isAdmin仅后端设

2025-07-01 04:45:00 845

原创 n8n - Trigger(触发器)八大触发方式详解

在自动化平台 n8n 中,Trigger(触发器)节点是 每条工作流的起点。不同的触发方式决定了工作流何时、如何启动:从手动调试到实时消息推送,从定时批量执行到动态表单采集,触发器的灵活组合赋能无限可能。本文将系统盘点 n8n 提供的八大触发方式,帮助你快速上手并在生产环境中稳健应用。

2025-06-30 20:45:00 952

原创 n8n - 使用 Docker Desktop 快速部署 n8n

本文介绍了在macOS上通过Docker快速部署n8n工作流自动化工具的方法。主要内容包括:安装Docker Desktop并配置环境;创建持久化数据卷确保配置文件安全;通过简单docker命令拉取并运行n8n容器;验证服务是否正常启动;还提供了基本认证、自动重启和连接外部数据库等高级配置选项。文末推荐使用组合命令"docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/

2025-06-30 04:30:00 758

原创 Vibe Coding - 使用cursor从PRD到TASK精准分解执行

AI赋能产品开发:从传统流程到智能化变革 软件开发领域正经历AI驱动的变革,传统八阶段开发流程(需求分析、PRD编写、评审、设计、开发、测试、发布、分析)正在被AI重塑。AI工具通过自动化PRD生成、设计辅助和代码编写,大幅提升效率并降低技能门槛。例如,Gemini 2.5 Pro可生成结构化PRD文档,Cursor等AI编程工具能辅助代码开发,而AI设计工具可自动生成界面样式。这种新模式使团队更聚焦核心需求,同时让零基础用户也能参与开发。典型案例显示,AI可将传统数周工作压缩至数天完成,但掌握这些工具仍需

2025-06-23 21:05:14 635

原创 Vibe Coding - 进阶 Cursor Rules

: .cursorrules文件是优化Cursor AI编程助手与项目协作的关键配置文件,具备统一代码风格、对齐技术栈、提升效率等五大优势。配置时需在项目根目录创建文件,定义项目背景、编码标准、技术栈等核心要素,可通过手动编写或插件辅助方式实现。高质量配置文件应包含项目背景、编码标准、首选库等7个维度信息,并附Java和TypeScript项目配置示例。合理使用该文件可实现自动化风格规范、生成架构匹配代码等效果,推荐参考awesome-cu

2025-06-21 23:16:39 1203

原创 Vibe Coding - 如何用Cursor高效开发Java项目

Cursor是一款基于VS Code改造的AI编程编辑器,专为现代开发者设计,支持自然语言提示词和智能代码补全。本文介绍了如何配置Cursor用于Java开发:包括安装Java扩展插件、配置Maven与JDK环境、创建项目(支持手动或AI生成)、运行调试以及与IDEA无缝联动等功能。Cursor通过强大的AI能力和丰富的插件生态,显著提升Java开发效率,特别适合项目初始化、代码补全等场景。文章还详细说明了如何利用AI生成代码、分析问题以及实现编辑器间的快速切换。

2025-06-21 19:40:59 970

原创 AIGC - Prompt Optimizer 提示词优化器

Prompt Optimizer是一款帮助优化大规模语言模型(LLM)提示词的工具,通过智能优化、多轮迭代和对比测试提升AI输出质量。主要功能包括:自动优化提示词、实时对比优化效果、支持OpenAI/Gemini等主流模型、高级参数配置、前端本地运行保障隐私等。提供Web应用和Chrome插件两种使用方式,支持Vercel部署和Docker容器化。技术架构采用Vue+TypeScript,通过统一接口规范适配不同模型API。用户可通过多轮迭代优化提示词,结合参数调优获得最佳效果。该工具纯客户端运行,数据本地

2025-06-19 20:28:29 1267

原创 分布式缓存:应对突发流量的缓存体系构建

高并发秒杀场景下缓存体系的设计与实践。核心思路是通过分层缓存架构(CDN、本地缓存、Redis)拦截无效请求,减轻数据库压力。重点内容包括:库存原子操作(Lua脚本实现预减防超卖)、缓存预热策略、防刷限流机制(布隆过滤器、令牌桶)、异步消息队列实现最终一致性,以及监控指标设计。文章强调缓存与业务逻辑深度结合,通过"上游过滤+缓存优先+异步落地"的整体方案保障系统高可用。

2025-06-17 06:31:15 1101

原创 性能优化 - 高级进阶: Spring Boot服务性能优化

性能优化实践指南:监控与剖析 本文系统介绍了性能优化的关键前置步骤——指标监控与性能剖析。通过集成Prometheus实现指标采集(包括JVM、缓存命中率等核心指标),并配合Grafana可视化监控。同时详细讲解了async-profiler工具的使用方法,包括火焰图生成方式。文章强调"数据驱动优化"理念,指出必须先建立完善的监控体系,获取真实运行数据后再针对性优化,避免盲目调整。配套的系列文章还涵盖了从理论到实践的完整性能优化知识体系,包括七类技术手段、诊断方法和11种接口优化方案等。

2025-06-15 22:00:00 1682

原创 性能优化 - 高级进阶: 性能优化全方位总结

本文是一份系统性能优化的结构化指南,从准备阶段到问题定位提供了完整方法论。首先明确优化目标与范围,再搭建监控体系收集CPU、内存、I/O等关键指标。重点介绍了从整体到局部的分析流程:先确认异常场景,再通过工具定位具体瓶颈(如CPU热点、内存泄漏或I/O过高)。文中包含20余篇详细技术文章的索引链接,涵盖理论、工具和案例三大维度,涉及JMH基准测试、JVM调优、多线程优化等实用技巧。适用于排查线上问题、制定优化方案等场景,帮助团队系统性地提升系统性能。

2025-06-15 21:22:25 1092

原创 性能优化 - 高级进阶:JVM 常见优化参数

系统介绍了Java性能优化中JVM参数配置的核心知识与实践方法。首先梳理Java版本演进与GC发展历程,指出CMS从Java 9开始逐步被淘汰的趋势。通过ElasticSearch的典型案例,详细解析堆内存配置(Xms/Xmx)、AlwaysPreTouch优化原理、堆外内存管理(元空间/CodeCache/直接内存)等关键技术点。对比展示了Java 8与Java 9+在GC日志参数设计上的差异,并提供了OOM自动转储、CMS调优参数等生产级配置建议。全文以理论结合实践的方式,为Java开发者提供

2025-06-15 17:24:03 1327

原创 性能优化 - 案例篇:11种优化接口性能的通用方案

本文总结了11条接口性能优化法则,涵盖数据库、接口逻辑、缓存及分布式架构等领域。重点包括:使用索引优化SQL查询,避免全表扫描;并行调用远程服务减少响应时间;数据异构减少服务依赖;异步处理非核心任务;控制锁粒度提高并发;分页优化避免大偏移;合理使用缓存减轻数据库压力;分库分表解决大数据量问题;精简接口逻辑提升效率。优化需权衡改动成本与收益,以最小代价实现性能提升。

2025-06-15 17:01:32 1279

原创 Kafka - 并发消费拉取数据过少故障分析

摘要 针对Spring Kafka消费者批量处理大消息时吞吐量低的问题,分析发现主要原因是单条消息过大(几MB),导致每次poll仅返回1条消息。关键影响因素包括: fetch.min.bytes设为5KB,而单条消息远超该值,触发Broker立即返回 max.partition.fetch.bytes可能不足以容纳多条大消息 max.poll.records设置未充分发挥作用 优化建议: 降低fetch.min.bytes至1字节 调整max.partition.fetch.bytes为单条消息大小×期望

2025-06-14 11:11:44 1232

原创 每日一博 - JWT 安全实战指南

探讨了JWT在分布式系统中的安全实践。JWT因其自包含和无状态特性广泛用于认证授权,但也存在诸多安全风险。文章从传输层安全、签名算法选择、密钥管理、Token生命周期等方面,详细介绍了JWT的安全防护措施。重点包括:强制HTTPS传输、禁用弱算法、密钥安全存储与轮换、严格校验Header与Claims、实施短期Token和Refresh Token机制、防范重放攻击和算法混淆等。同时提供了前端存储建议和抗攻击策略,强调通过HTTPS、严格算法控制、短期Token和上下文绑定等措施提升JWT安全性。

2025-06-12 19:52:03 1285

原创 性能优化 - 案例篇:JIT

本文系统介绍了Java JIT(Just-In-Time)编译优化的核心技术与实践。主要内容包括:方法内联的原理与性能对比(优化后提升5倍);分层编译流程中的C1/C2/Graal编译器分工;逃逸分析带来的栈上分配、标量替换和同步消除优化;Code Cache缓存管理策略;以及JITWatch工具的使用方法。通过合理配置编译参数和监控工具,可以显著提升Java程序性能,但需注意避免过度编译等副作用。文章提供了理论、参数配置和案例分析的完整知识体系,是Java性能优化的实用指南。

2025-06-09 06:30:00 881

原创 性能优化 - 案例篇:JVM垃圾回收器

本文系统梳理了JVM性能优化的核心知识点。首先介绍了JVM六大内存区域:堆、虚拟机栈、程序计数器、本地方法栈、元空间和直接内存,重点分析了堆和栈的运行机制。其次详细解析了GC Roots可达性分析原理及7类根集合。然后对比了强引用、软引用、弱引用和虚引用四种引用级别的特性与应用场景。最后讲解了基于弱代假设的分代垃圾回收机制,包括年轻代/老年代的分区策略,以及G1回收器的区域化设计和关键参数。掌握这些JVM底层原理,是进行高效性能优化的基础。

2025-06-09 05:15:00 1319

原创 每日一博 - 容错机制 : 指数退避+动态限流+熔断+监控告警设计

本文介绍了一个基于动态限流、熔断和指数退避重试的MQ消息发送系统架构。系统通过HTTP接入层进入动态限流模块,根据MQ消费延迟(Lag)动态调整令牌桶速率,控制请求流量。熔断器模块根据Lag阈值切换状态,同步调整限流参数。发送失败时,指数退避重试模块加入随机抖动优化重试效率。MQ客户端服务层整合所有组件,最终将消息发送至Kafka/Redis。系统还通过Prometheus监控关键指标,实现阈值告警。这种架构有效解决了高并发场景下的流量控制和故障恢复问题。

2025-06-07 08:45:00 2039

原创 每日一博 - 指数退避Exponential Backoff + 抖动Jitter

为了解决这一问题,我们需要在重试逻辑中施加延迟,并逐次放大延迟间隔,让服务端有足够时间恢复。此时,就要用到**指数退避(Exponential Backoff)+ 抖动(Jitter)**策略。如果对这些错误不做任何处理,客户端会立即重试,短时间内大量并发请求重新涌向服务器,往往引起更严重的拥堵。开始,介绍了指数退避的基本公式、抖动(Jitter)的重要作用以及最大退避时间和最大重试次数的选取。本示例使用最简单的 Full Jitter,即在。”的组合,既能快速让客户端后退,又能避免重试风暴。

2025-06-07 05:15:00 1025

原创 每日一博 - Kafka、Reactor、NGINX的背压控制与性能调优

在每日一博 - 背压(Backpressure)的核心原理与实现方式中,系统地介绍了背压机制的原理、常见场景与典型案例。接下来将进一步聚焦三个实际系统(Kafka、Reactor、NGINX),详细讲解如何结合各自架构与配置项,实现背压控制与性能调优。在 Kafka 消息队列中减少 Lag、保护 Broker 与消费者资源;在 Reactor 响应式编程中使用背压算子避免内存泄漏与吞吐不稳定;在 NGINX 反向代理场景下,通过限流与缓冲参数,为下游服务施加背压。

2025-06-06 06:15:00 964

Redis 8.0.3 是高性能的 Key-Value 缓存数据库,本版本为社区适配的 Windows 平台编译版本,适用于开发环境或测试用途

解决 msys2 不支持window 路径的问题, 旧的 https://download.youkuaiyun.com/download/yangshangwei/91335891

2025-07-11

版本 8.0.3 是 Redis Open Source 8.0 系列中的第三个正式小版本

版本 8.0.3 是 Redis Open Source 8.0 系列中的第三个正式小版本

2025-07-11

国产 四种架构 Keepalived

国产 四种架构 Keepalived

2025-07-11

Redis 7.4.1 Windows 版本

Redis 7.4.1 Windows 版本

2024-10-10

「Tomcat源码剖析」.pdf

Tomcat源码剖析 : 整体架构 层层分析 源码解析 架构分析 (Http服务器功能:Socket通信(TCP/IP)、解析Http报文 Servlet容器功能:有很多Servlet(自带系统级Servlet+自定义Servlet),Servlet处理具体的业务逻辑)

2020-06-01

Scalable IO in Java

NIO - Scalable IO in Java

2023-11-10

腾讯万亿级 Elasticsearch 架构实践

腾讯万亿级 Elasticsearch 架构实践

2023-07-24

实时分析引擎&实时分析引擎

实时分析引擎

2023-07-24

MQ对比:Kafka VS Rocketmq VS Rabbitmq.pdf

MQ对比:Kafka VS Rocketmq VS Rabbitmq 超详细 ,值的收藏,参考资料

2019-11-04

elasticsearch-analysis-ik-6.4.1.zip

修改ik分词器源码,支持从mysql中每隔一定时间,自动加载新的词库

2019-08-20

中标龙芯-MIPS- NFS rpm包

gssproxy-0.7.0-4.ns7_4.mips64 keyutils-1.5.8-3. libbasicobjects-0 libcollection-0.6 libevent-2.0.21-4 libini_config-1.3 libnfsidmap-0.25- libpath_utils-0.2 libref_array-0.1. libtirpc-0.2.4-0. libverto-libeventm nfs-utils-1.3.0-0m quota-4.01-14.ns7 quota-nls-4.01-14 rpcbind-0.2.0-42. tcp_wrappers-7.6

2020-11-24

X86-NFS rpm包

gssproxy-0.7.0-21.el7.x86_64.rpm keyutils- libbasicobjects-0 libcollection-0.6 libevent-2.0.21-4 libini_config libnfsidmap libpath_utils-0.2 libref_array-0.1. libtirpc-0.2.4-0. libverto-libeventm nfs-utils-1.3.0-0m quota-4.01-14.ns7 quota-nls-4.01-14 rpcbind tcp_wrappers

2020-11-24

apache-tomcat-8.5.50-src.zip

Tomcat启动流程分析 组件的生命周期管理 用Lifecycle管理启动、停止、关闭 Lifecycle接口预览 几个核心方法 Server中的init方法示例 为啥StandardServer没有init方法 LifecycleBase中的init与initInternal方法 为什么这么设计? 分析Tomcat请求过程 链接器(Connector)与容器(Container) 解耦 Connector设计 监听服务端口,读取来自客户端的请求 将请求数据按照指定协议进行解析 根据请求地址匹配正确的容器进行处理 将响应返回客户端 Container设计 Servlet容器的实现。

2020-06-02

Nginx1.14.2 + zlib + pcre + openssl

1. nginx 主软件 和 3个依赖包 zlib + pcre + openssl

2019-03-12

mybatisSource.zip

MyBatis源码功能演示环境 ,演示MyBatis的Executor 、StatementHandler 、 SQL映射、对象转换 等核心功能

2020-06-14

Spring4CachingAnnotationsExample

Spring4CachingAnnotationsExample的示例,通过Java注解的方式整合EhCache框架

2017-10-04

Jest-5.3.4.zip

Jest是Elasticsearch 的Java Http Rest 客户端。 ElasticSearch已经具备应用于Elasticsearch内部的java API,但是Jest弥补了ES自有API缺少Elasticsearch Http Rest接口客户端的不足。 Jest 配置ES 集群 示例代码 及源码解读 - 核心原理 - NodeChecker源码解读 -

2020-01-19

Java反编译工具

jd-gui.exe使用C++开发,主要具有以下功能: 一、支持众多Java编译器的反编译; 二、支持对整个Jar文件进行反编译,并本源代码可直接点击进行相关代码的跳转;

2015-06-04

ORACLE_AWR报告详细分析

ORACLE_AWR报告详细分析

2016-09-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除