<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[作为一个长者,有必要记录下人生经验]]></title><description><![CDATA[温故而知新]]></description><link>https://blog.csdn.net/worilb</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; worilb]]></copyright><item><title><![CDATA[mysql8基础（十五）主从复制]]></title><link>https://blog.csdn.net/worilb/article/details/165626545</link><guid>https://blog.csdn.net/worilb/article/details/165626545</guid><author>worilb</author><pubDate>Wed, 16 Sep 2026 22:37:59 +0800</pubDate><description><![CDATA[MySQL 复制（Replication）是指将一个 MySQL 实例中的数据变更同步到一个或多个其他 MySQL 实例。MySQL 8 官方文档中通常将提供数据的一端称为Source（源库），接收数据的一端称为Replica（副本库）；旧资料中常见的 Master / Slave 与之对应。复制的核心依赖。Source 将数据库中的数据变更记录到 Binlog，Replica 主动连接 Source 并读取这些日志事件，再写入本地的Relay Log（中继日志）]]></description><category></category></item><item><title><![CDATA[Win下使用同一套MySQL创建第二个独立实例]]></title><link>https://blog.csdn.net/worilb/article/details/165490779</link><guid>https://blog.csdn.net/worilb/article/details/165490779</guid><author>worilb</author><pubDate>Tue, 15 Sep 2026 22:06:25 +0800</pubDate><description><![CDATA[3306本教程只创建一个新的独立 MySQL 服务，不配置主从复制。]]></description><category></category></item><item><title><![CDATA[mysql8基础（十四）SQL技巧、常用工具与日志]]></title><link>https://blog.csdn.net/worilb/article/details/109989748</link><guid>https://blog.csdn.net/worilb/article/details/109989748</guid><author>worilb</author><pubDate>Fri, 11 Sep 2026 18:24:20 +0800</pubDate><description><![CDATA[常用SQL技巧：
SQL编写顺序
select distinct ...
from 左表
join 右表
on 连接条件
where...
group by...
having...
order by...
limit...

SQL执行顺序
from 左表
on 连接条件
join 右表
where...
group by...
having...
select distinct...
order by...
limit...

正则表达式：




SQL常用函数
运算函数：

字符串函数：

日期函数]]></description><category></category></item><item><title><![CDATA[Java/JVM 常见诊断文件对比]]></title><link>https://blog.csdn.net/worilb/article/details/146021874</link><guid>https://blog.csdn.net/worilb/article/details/146021874</guid><author>worilb</author><pubDate>Sun, 06 Sep 2026 18:07:08 +0800</pubDate><description><![CDATA[【代码】java几种常用分析文件。]]></description><category></category></item><item><title><![CDATA[Spring Cloud 学习与实践（16）：Elasticsearch 商品搜索、中文分词与索引一致性]]></title><link>https://blog.csdn.net/worilb/article/details/163162406</link><guid>https://blog.csdn.net/worilb/article/details/163162406</guid><author>worilb</author><pubDate>Fri, 24 Jul 2026 19:45:00 +0800</pubDate><description><![CDATA[当前  已经具备：
商品数据目前保存在 MySQL：
如果只按主键查询商品，MySQL 足够完成：
但当需求变成：
继续只用：
会逐渐遇到几个问题：
本章最终建立：
同时解决：

2、先理解 Elasticsearch 的核心概念
2.1 Elasticsearch 是什么
Elasticsearch 是一个面向搜索和分析的分布式文档数据库。本章最关心的能力是：
它不是为了替代当前 MySQL，而是承担不同职责：本章始终坚持：
因此：
不能简单处理为：
正确方向是：

2.2 Elasticsearch 与]]></description><category></category></item><item><title><![CDATA[Spring Cloud 学习与实践（15）：使用 TraceId 与 MDC 串联微服务日志]]></title><link>https://blog.csdn.net/worilb/article/details/162818778</link><guid>https://blog.csdn.net/worilb/article/details/162818778</guid><author>worilb</author><pubDate>Sun, 12 Jul 2026 22:48:52 +0800</pubDate><description><![CDATA[单服务 MDC↓Gateway 统一生成 TraceId↓所有业务服务接收↓OpenFeign 继续透传↓CircuitBreaker 线程池传播↓@Async 线程池传播↓失败链路验证Gateway 负责确定入口 TraceId请求头负责跨服务传递MDC 负责进入日志Feign 拦截器负责新的 HTTP 请求ExecutorService 和 TaskDecorator 负责线程切换finally 负责防止上下文串号接口请求成功不代表日志链路一定完整。]]></description><category></category></item><item><title><![CDATA[AI 最核心的 15 个概念]]></title><link>https://blog.csdn.net/worilb/article/details/162796686</link><guid>https://blog.csdn.net/worilb/article/details/162796686</guid><author>worilb</author><pubDate>Sat, 11 Jul 2026 23:03:43 +0800</pubDate><description><![CDATA[AI 系统不是只有一个“大模型”。]]></description><category></category></item><item><title><![CDATA[Spring Cloud 学习与实践（14）：集成 Knife4j，实现 JWT 调试与 Gateway 文档聚合]]></title><link>https://blog.csdn.net/worilb/article/details/162790823</link><guid>https://blog.csdn.net/worilb/article/details/162790823</guid><author>worilb</author><pubDate>Sat, 11 Jul 2026 15:41:56 +0800</pubDate><description><![CDATA[单服务 Knife4j↓OpenAPI 3 注解↓多服务独立文档↓Gateway 调试↓↓Gateway 聚合↓生产关闭边界springdoc 负责生成文档Knife4j 负责展示与调试Gateway 负责聚合与鉴权OpenAPI Security 负责描述认证JwtAuthGlobalFilter 负责真正校验 JWT文档页面看起来正确不代表真实请求一定正确请求地址请求头状态码实际响应。]]></description><category></category></item><item><title><![CDATA[Spring Cloud 学习与实践（13）：使用 Seata 解决分布式事务问题]]></title><link>https://blog.csdn.net/worilb/article/details/162721671</link><guid>https://blog.csdn.net/worilb/article/details/162721671</guid><author>worilb</author><pubDate>Thu, 09 Jul 2026 12:46:34 +0800</pubDate><description><![CDATA[第 12 章我们完成了 RabbitMQ 可靠消息链路：
RabbitMQ 解决的是：
但是当前下单流程里还有一个更靠前的问题：
如果商品服务已经扣减库存，而订单服务随后保存失败，会发生什么？当前两个服务各自只有本地事务：所以原始结果可能是：
第 13 章就是围绕这个问题，引入 Seata AT 模式，让订单和库存能够作为一个全局事务整体提交或整体回滚。本章主线是：

2、本章环境与涉及模块
本章继续基于前面章节的  项目。本章主要修改两个服务：本章不需要让所有服务都接入 Seata：Spring 的：
只]]></description><category></category></item><item><title><![CDATA[Spring Cloud 学习与实践（12）：RabbitMQ 异步消息、死信队列、手动 ACK 与可靠消息补偿]]></title><link>https://blog.csdn.net/worilb/article/details/162460752</link><guid>https://blog.csdn.net/worilb/article/details/162460752</guid><author>worilb</author><pubDate>Tue, 30 Jun 2026 17:49:14 +0800</pubDate><description><![CDATA[第 11 章我们把 Redis 接入到了 ，解决了商品详情接口反复查询 MySQL 的问题，也顺手演练了缓存穿透、缓存击穿、缓存雪崩和缓存一致性。这一章开始引入 RabbitMQ。不过这一章不只是演示“发一条消息、收一条消息”。如果只做到这一步，RabbitMQ 学起来会很轻，但真正写项目时还是不知道怎么处理异常。这一章继续沿用前面的订单链路，从  创建订单这个场景出发，一步一步解决这些问题：
这一章最终会形成一条比较完整的可靠消息链路：
2、本章环境与项目现状
2.1 当前项目版本
本章继续使用前面章节的]]></description><category></category></item><item><title><![CDATA[Spring Cloud 学习与实践（11）：Redis 缓存、穿透、击穿、雪崩与数据一致性]]></title><link>https://blog.csdn.net/worilb/article/details/162315996</link><guid>https://blog.csdn.net/worilb/article/details/162315996</guid><author>worilb</author><pubDate>Thu, 25 Jun 2026 23:09:58 +0800</pubDate><description><![CDATA[商品详情每次都查 MySQL，有没有必要？然后一步一步走到了完整缓存链路。]]></description><category></category></item><item><title><![CDATA[Spring Cloud 学习与实践（10）：Sentinel 限流、熔断与降级]]></title><link>https://blog.csdn.net/worilb/article/details/162278641</link><guid>https://blog.csdn.net/worilb/article/details/162278641</guid><author>worilb</author><pubDate>Wed, 24 Jun 2026 18:57:30 +0800</pubDate><description><![CDATA[微服务之间往往是链式调用。↓cloud-user↓如果响应非常慢，中等待商品服务返回的线程就会被占住。当请求越来越多时，中越来越多线程被阻塞。cloud-product 慢↓cloud-order 线程堆积↓cloud-order 也变慢或不可用↓Gateway 请求堆积↓整个链路被拖垮这就是微服务中常说的服务雪崩。1. 不是项目统一 Result 格式2. 前端不好统一处理3. 用户看不懂英文提示4. 不方便接口文档描述。]]></description><category></category></item><item><title><![CDATA[Spring Cloud 学习与实践（9）：Gateway + JWT 统一鉴权]]></title><link>https://blog.csdn.net/worilb/article/details/161984502</link><guid>https://blog.csdn.net/worilb/article/details/161984502</guid><author>worilb</author><pubDate>Sun, 14 Jun 2026 23:48:25 +0800</pubDate><description><![CDATA[第 8 章已经完成了 Gateway 统一入口：
但是现在所有业务接口只要知道地址就能访问，例如：
这显然不符合真实项目要求。本章要完成的目标是：
本章最终请求链路如下：

2、为什么需要统一鉴权
2.1 当前项目缺少什么能力
在没有统一鉴权之前，业务接口存在几个问题。第一，任何人都能访问业务接口。
第二，订单服务仍然信任客户端传入的 。
这非常危险。客户端传什么用户 ID，服务端就用什么用户 ID，相当于把身份决定权交给了客户端。第三，每个服务如果都自己写鉴权逻辑，会导致重复代码。
这样会带来：
因此，更]]></description><category></category></item><item><title><![CDATA[如何解决codex频繁重连问题]]></title><link>https://blog.csdn.net/worilb/article/details/161900227</link><guid>https://blog.csdn.net/worilb/article/details/161900227</guid><author>worilb</author><pubDate>Thu, 11 Jun 2026 18:16:12 +0800</pubDate><description><![CDATA[C:\Users\你的用户名\.codex\.envHTTP_PROXY="http://127.0.0.1:<你的代理端口>"HTTPS_PROXY="http://127.0.0.1:<你的代理端口>"保存后，彻底退出并重新打开 Codex。如果你的问题来自 Codex 没有稳定使用本地代理端口，这个方法通常比单纯依赖系统代理更直接，也比一上来开启 TUN 模式更有针对性。]]></description><category></category></item><item><title><![CDATA[Spring Cloud 学习与实践（8）：Spring Cloud Gateway 统一入口、路由转发与双重跨域故障演练]]></title><link>https://blog.csdn.net/worilb/article/details/161867538</link><guid>https://blog.csdn.net/worilb/article/details/161867538</guid><author>worilb</author><pubDate>Wed, 10 Jun 2026 18:00:44 +0800</pubDate><description><![CDATA[协议域名端口只要有一项不同，就属于不同 Origin。前端页面：Gateway：端口不同，所以属于跨域。跨域主要是浏览器安全策略IDEA HTTP Client、Postman 和后端代码通常不会受浏览器 CORS 限制。gateway.http 能调用成功浏览器页面一定能成功调用OPTIONS是否允许当前来源？是否允许 POST？是否允许 Content-Type？是否允许自定义请求头？预检请求只有预检成功，浏览器才会发送正式 POST 请求。Gateway 启动↓。]]></description><category></category></item><item><title><![CDATA[Spring Cloud 学习与实践（4）：订单服务开发]]></title><link>https://blog.csdn.net/worilb/article/details/161631164</link><guid>https://blog.csdn.net/worilb/article/details/161631164</guid><author>worilb</author><pubDate>Tue, 02 Jun 2026 18:16:25 +0800</pubDate><description><![CDATA[本章订单服务完全本地落库故意不校验用户、商品、价格，方便演练后续服务间调用为第 5~7 章引出 OpenFeign、远程用户校验、商品校验及库存扣减逻辑做准备。]]></description><category></category></item><item><title><![CDATA[Spring Cloud 学习与实践（3）：商品服务开发与并发超卖]]></title><link>https://blog.csdn.net/worilb/article/details/161629428</link><guid>https://blog.csdn.net/worilb/article/details/161629428</guid><author>worilb</author><pubDate>Tue, 02 Jun 2026 17:13:43 +0800</pubDate><description><![CDATA[现象：商品初始库存为 1。JMeter 使用 20 个线程并发购买。朴素版库存扣减出现多个成功请求。数据库最终库存仍然为 0。排查：多个线程同时读取到旧库存 stock=1。多个线程都通过 Java 内存中的库存判断。多个线程都将库存更新为 0。原因：SELECT 查询和 UPDATE 更新是两个独立步骤。查询与更新之间存在并发竞争窗口。@Transactional 不能自动解决此类并发竞争。修复：将库存判断和库存扣减写入同一条 UPDATE SQL。]]></description><category></category></item><item><title><![CDATA[Spring Cloud 学习与实践（2）：用户服务开发]]></title><link>https://blog.csdn.net/worilb/article/details/161599742</link><guid>https://blog.csdn.net/worilb/article/details/161599742</guid><author>worilb</author><pubDate>Mon, 01 Jun 2026 18:53:02 +0800</pubDate><description><![CDATA[现象：分页接口传入 size=2，却返回全部 5 条数据。total 和 pages 均为 0。排查：Controller 已创建 Page 对象，但项目中没有分页拦截器。原因：Page 只保存分页参数。PaginationInnerInterceptor 才负责改写 SQL 和执行总数统计。修复：创建 MyBatisPlusConfig。注册 MybatisPlusInterceptor。添加 PaginationInnerInterceptor(DbType.MYSQL)。]]></description><category></category></item><item><title><![CDATA[Spring Cloud 学习与实践（1）：项目骨架搭建]]></title><link>https://blog.csdn.net/worilb/article/details/161597386</link><guid>https://blog.csdn.net/worilb/article/details/161597386</guid><author>worilb</author><pubDate>Mon, 01 Jun 2026 17:25:20 +0800</pubDate><description><![CDATA[本章介绍了如何搭建Spring Cloud Alibaba微服务项目的骨架结构。主要内容包括： 创建Maven父工程cloud-demo，统一管理7个子模块：公共模块(cloud-common)、API契约(cloud-api)、网关(cloud-gateway)、认证(cloud-auth)以及用户、商品、订单服务模块。 通过父工程的dependencyManagement统一管理JDK 17、Spring Boot 2.7.18、Spring Cloud 2021.0.8、Spring Cloud Al]]></description><category></category></item><item><title><![CDATA[WinSW XML 配置参数介绍]]></title><link>https://blog.csdn.net/worilb/article/details/157022289</link><guid>https://blog.csdn.net/worilb/article/details/157022289</guid><author>worilb</author><pubDate>Fri, 16 Jan 2026 11:08:08 +0800</pubDate><description><![CDATA[WinSW（Windows Service Wrapper）是一个开源工具，用于将任意可执行文件（exe、jar、bat 等）包装成 Windows 服务。配置文件为 XML 格式（通常命名为。以下是 WinSW 3.x 版本的完整参数列表，按功能分类整理。根节点下（注意：不是。]]></description><category></category></item></channel></rss>