摘要: 为什么选择 Keycloak? 特性 Keycloak 开箱即用 OAuth2/OIDC/SAML 全支持 单点登录 原生支持 SSO 社交登录 微信/GitHub/Google 等开箱即用 用户管理 完整的管理控制台 企业认可度 Red Hat 出品,大量企业使用 本文聚焦 Docker 环境下的 阅读全文
posted @ 2026-07-29 17:37 暮色之狐 阅读(0) 评论(0) 推荐(0)
摘要: 身边不少朋友在搞开发测试时,习惯性把云服务器买最小配置——2C4G ,跑个 Nacos 或一堆微服务,内存分分钟见底。 然后呢?服务莫名其妙挂了,SSH 连不上,compactd 进程卡死 200 多秒……在内存受限的服务器环境下,swap 已然成了必备配置。 为什么测试环境更要开swap? 1. 阅读全文
posted @ 2026-07-28 12:59 暮色之狐 阅读(153) 评论(0) 推荐(0)
摘要: 上周做Redis故障演练,主节点A宕机,从节点B升主。A恢复后,我本以为它会走增量同步——毕竟B的缓冲区足够大,A的偏移量也在范围内。但日志显示:全量同步。这是怎么回事? 如果你也遇到过类似的现象,或者单纯好奇Redis主从复制在故障转移后到底怎么决策的——这篇文章就是为你写的。我们不背八股文,而是 阅读全文
posted @ 2026-07-27 10:00 暮色之狐 阅读(205) 评论(0) 推荐(0)
摘要: 这大概是 Redis 面试里最常见的一道“送命题”。 面试官问:“Redis 怎么持久化?” 你心里一喜,这题我背过:“RDB 和 AOF,RDB 是做快照的,AOF 是记录命令的,两个可以一起用。” 面试官点点头,追问道:“那 RDB 的 fork 具体是怎么工作的?会不会阻塞主线程?AOF 的刷 阅读全文
posted @ 2026-07-25 09:54 暮色之狐 阅读(238) 评论(0) 推荐(0)
摘要: 提到 Redis,大多数开发者的第一反应是缓存、分布式锁、或者消息队列。但你可能不知道是,这个陪伴了我们很多年的老朋友,如今已经在向量数据库的赛道上一路狂奔——不仅跑得快,还跑得相当稳。 什么是向量检索? 传统搜索依托字面匹配逻辑:当输入“苹果”进行检索时,系统仅能定位到包含“苹果”二字的文档,若文 阅读全文
posted @ 2026-07-24 20:53 暮色之狐 阅读(126) 评论(0) 推荐(0)
摘要: 日志管理,是每一位后端开发者和运维工程师都绕不开的必修课。今天,我们就来聊聊Nginx 日志管理的最佳实践——logrotate。 为什么 logrotate 是业界标准? 在众多日志管理方案中,logrotate 之所以能成为最主流、最推荐的选择,主要得益于以下几点: 稳定可靠:logrotate 阅读全文
posted @ 2026-07-21 14:45 暮色之狐 阅读(254) 评论(0) 推荐(1)
摘要: 做业务开发时,我们经常遇到这类需求: ✅ 同城筛选附近门店、外卖骑手匹配 ✅ 社交APP附近的人、同城动态 ✅ 网约车就近派单、地理位置打卡 面对这些地理位置检索场景,无需引入笨重的专业GIS引擎,Redis自带的GEO地理空间索引是一个轻量、高性能的方案。 Redis Geo Redis Geo 阅读全文
posted @ 2026-07-15 17:49 暮色之狐 阅读(188) 评论(0) 推荐(3)
摘要: Redis的概率数据结构提供对计数、频率和排名等统计量的近似值,而不是精确值。使用近似的优点是它们对于许多常见用途来说是足够的,但计算起来却更加高效。它们有时还有其他优点,例如模糊处理时间、位置和其他敏感数据。 Bloom filter 布隆过滤器是一种概率性数据结构,用于检查一个元素是否在集合中。 阅读全文
posted @ 2026-07-14 13:55 暮色之狐 阅读(33) 评论(1) 推荐(1)
摘要: Redis 是一个数据结构服务器。其核心是提供了一系列原生数据类型,可帮助您解决从缓存、队列到事件处理等各种各样的问题。以下是对常用的数据类型的简要描述,并提供指向更详细概述和命令参考的链接。 Strings Redis的字符串类型是最基本的数据类型,字符串存储字节序列,包括文本、序列化的对象和二进 阅读全文
posted @ 2026-07-13 16:47 暮色之狐 阅读(62) 评论(0) 推荐(0)
摘要: Feign字段取不到值问题解析 Postman直接调用接口时数据正常,但通过Feign调用时字段值却为null。起初怀疑是Feign配置问题,经过排查后才发现问题出在字段命名上——mName这类单字母驼峰命名被Jackson按规范推断为MName,导致大小写不匹配。 这种约定冲突比技术难点更难防范, 阅读全文
posted @ 2026-05-26 13:24 暮色之狐 阅读(132) 评论(0) 推荐(0)
摘要: 最近在帮同事review代码时,发现一段逻辑看似正常但执行结果却不符合预期的代码,特此记录问题排查过程。 原始代码实现 @Override public void clearExpireOrder(LocalDate expireDate) { log.info("开始清理过期订单, 过期日期: { 阅读全文
posted @ 2026-05-16 12:43 暮色之狐 阅读(139) 评论(0) 推荐(1)
摘要: 💡TIP一次线上扩容实验,揭开隐藏在@RefreshScope背后的性能杀手 问题现场:扩容反而引发告警风暴最近,我们的服务在业务高峰进行一次常规扩容,新增了两个POD。本以为能平滑分担流量,结果启动后不久,P1级别接口超时告警和频繁Full GC告警接连爆发。 从监控图可以清晰看到: 新启动的P 阅读全文
posted @ 2026-04-29 10:36 暮色之狐 阅读(304) 评论(0) 推荐(1)
摘要: SmartScribe:一个让AI自动帮你整理笔记的Obsidian插件。支持6大AI平台,一键生成标题、标签、分类、摘要,还能智能优化写作。 这个项目的特殊之处不在于功能——在于它的代码100%由Claude Code生成。作者是一个后端程序员,一行前端代码都没写。 GitHub地址:https: 阅读全文
posted @ 2026-04-22 15:59 暮色之狐 阅读(1061) 评论(4) 推荐(3)
摘要: Harness Engineering 究竟是什么?不是又一个AI营销概念,而是AI从能说会道迈向能干成事的关键分水岭!本期深度拆解AI工程演进的三层核心:Prompt Engineering(让模型听懂你)、Context Engineering(让模型看到该看的信息)、Harness Engin 阅读全文
posted @ 2026-04-15 16:31 暮色之狐 阅读(483) 评论(0) 推荐(0)
摘要: 散弹枪编程 火力覆盖,蒙中就行 “嗯,这个报错……把参数从 false 改成 true 试试?还不行?那把这行注释掉看看?” 开发者使用非常随意的方式对待代码,像持散弹枪般,不加分析地向问题盲目射击,通过随机、反复地修改代码来碰运气,直到错误消失。这是一种极其消极的调试方式,往往在解决一个表面问题的 阅读全文
posted @ 2026-04-14 18:12 暮色之狐 阅读(344) 评论(0) 推荐(1)
摘要: Claude Code 通关手册(八):推荐 5 个 Hooks,代码质量提升 3 倍 这是Claude Code通关手册的第八篇,推荐5个实用的Hook,代码质量提升 3 倍 上周三下午,我让 Claude Code 帮我重构一个老模块。 它干得挺快,噼里啪啦一顿输出。我切出去喝了口水,回来一看——它正准备把我一个还没有提交git的源文件直接覆盖掉。 手抖着点了“拒绝”,后背全是冷汗 阅读全文
posted @ 2026-04-13 13:46 暮色之狐 阅读(793) 评论(0) 推荐(2)
摘要: Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 这是Claude Code通关手册第七篇,这一篇让我们学习ClaudeCode的新功能Skills,从“每次重新教”到“一次封装,处处复用”,这才是 AI 助手的正确打开方式 先来一个扎心的场景 你已经能够熟练的使用Claude Code:权限设置、CLAUDE.md、自定义命令、子代理、MCP…… 阅读全文
posted @ 2026-04-12 11:33 暮色之狐 阅读(963) 评论(3) 推荐(3)
摘要: Claude Code通关手册(六):MCP协议完全指南 这是Claude Code通关手册的第六篇,上一篇我们为Claude Code配置了专家团队,这一篇我们为他装上外部设备,让他从本地助手转变成互联网平台。 一个很形象的比喻:没有配置MCP的Claude Code就像是一个被关在房间里的天才。 它聪明、高效——能处理你扔给它的所有文件,却够不着外面世 阅读全文
posted @ 2026-04-11 12:35 暮色之狐 阅读(508) 评论(0) 推荐(0)
摘要: Claude Code通关手册(五):组建你的AI专家团队,子代理系统 这是Claude Code通关手册的第五篇,这一篇将把“万能助手”变成一支专业队伍,各司其职、并行作战,这才是 Claude Code 的正确打开方式 先来看一个熟悉的场景 你面对一个复杂的任务,突然萌生了这样的想法: “要是能有个专门负责探索代码库的助手,再有个专门审查代码的专家,还有个专注写测试 阅读全文
posted @ 2026-04-10 18:09 暮色之狐 阅读(572) 评论(2) 推荐(3)
摘要: Claude Code通关手册(四):自定义命令,告别手敲重复指令 这是Claude Code通关手册的第四篇,这一篇我们要解锁一个让你效率再翻倍的功能——自定义命令。把那些每天都在敲的重复指令、复杂流程,变成一条简单的斜杠命令,从此告别手打。 你有没有这样的经历: 帮我检查一下代码风格,用 Google Java Format 帮我生成一下测试用例,用 JUnit 阅读全文
posted @ 2026-04-09 17:13 暮色之狐 阅读(908) 评论(0) 推荐(1)