- 博客(972)
- 资源 (12)
- 收藏
- 关注
原创 阿里Seata事务模式场景化选型指南
二阶段异步删除日志(成功)或利用日志补偿回滚(失败)。基于数据库原生 XA 协议,由事务管理器(TM)协调多个资源管理器(RM,即数据库)进行两阶段提交(Prepare, Commit/Rollback)。(如转账、交易核心),且团队有能力承担开发、测试和维护 TCC 三阶段逻辑的成本时,选择 TCC。的业务流程(如订单创建到物流发货),且能接受最终一致性时,SAGA 是理想选择。且业务可拆分的场景(如转账业务:Try 阶段冻结双方资金,Confirm 完成划转)。的业务(如商品库存扣减、余额更新)。
2025-07-22 17:38:17
450
原创 一致性哈希:实现亿级数据秒级响应
当配合时间分区、用户哈希等多维分表策略时,即使面对海量数据,依然能保持毫秒级响应。这种"化整为零,精准定位"的设计思想,是应对大数据查询的效率核心。一致性哈希分表通过虚拟环智能路由,将10亿级数据查询分散到精确的物理表(如orders_202307),使单次查询仅需扫描。单表QPS从 1,200 提升到 18,500。单表数据量 > 500万行时性能断崖式下跌。99%查询延迟 < 100ms。查询P99延迟 > 300ms。高并发下数据库连接池耗尽。单表数据量 > 50GB。单表行数 > 500万。
2025-07-22 17:34:59
377
原创 过度管理:项目管理最大的内耗
在软件开发领域,最好的管理往往是"看不见的管理"。当团队不再需要时刻想着如何满足管理要求,当晨会变成自发的问题讨论,当流程手册被遗忘在角落——这才是管理真正的成功。记住德鲁克的箴言:"管理的本质是激发善意和潜能"。砍掉那些制造内耗的"伪管理",让程序员回归创造者的本位,或许才是提升交付效率的终极答案。
2025-07-04 17:08:13
346
原创 idea解决父组件jar包声明而无法下载问题
在IntelliJ IDEA中使用Maven时,如果在父POM文件中声明了jar包但子项目未使用这些jar包,这些jar包不会被自动下载。 这是因为Maven的dependencyManagement机制只在子项目中实际引用这些依赖时才会去下载相应的jar包。
2025-06-27 18:56:15
131
原创 什么是redission看门狗机制
Redisson 的看门狗机制是一个自动化、后台的锁续期守护线程。它在客户端获取锁(未指定租期时)后启动,定期检查并延长锁的持有时间,从而确保只要客户端还在运行且持有锁,锁就不会因为初始设置的过期时间到达而意外释放。这是 Redisson 分布式锁实现安全性和易用性的关键设计之一,有效防止了因业务执行时间过长而导致的锁失效问题。
2025-06-21 13:46:00
860
原创 MySQL InnoDB更新流程
通过上述流程,InnoDB在高效处理更新的同时,确保了事务的原子性、一致性和持久性。:在内存中修改数据行,生成新版本,标记数据页为脏页(Dirty Page)。:脏页由后台线程(如Checkpoint)异步刷回磁盘,不影响事务提交速度。:将修改前的数据写入Undo Log,用于事务回滚和MVCC多版本读。:未提交的事务通过Undo Log回滚,保证原子性。:长时间未提交的事务可能导致锁等待,需优化事务粒度。:对目标行加排他锁(X锁),防止其他事务并发修改。:事务提交前,Redo Log可能按策略刷盘(如。
2025-06-10 16:25:59
491
原创 ruoyi-vue下拉框取字典表值回显问题
问题出现原因:后台返回的Intger类型,而前台字典使用的是String类型,所以造成回显值失败。将value的值用Number包起来,即。
2025-06-05 19:32:25
233
原创 工厂模式 + 模板方法模式 + 策略模式的适用场景
/ 文件生成策略接口// CSV 生成策略@OverrideSystem.out.println("生成 CSV 文件: " + data);// Excel 生成策略@OverrideSystem.out.println("生成 Excel 文件: " + data);// 模板方法:定义固定流程saveFile();// 抽象方法:由子类实现数据准备逻辑// 固定步骤:保存文件System.out.println("保存文件到服务器");
2025-06-05 19:32:08
567
原创 Redo Log断电恢复逻辑
若对应事务的Binlog已完整写入且刷盘,则认为事务应提交,执行Redo Log重放(若Binlog未写入或写入不完整,则认为事务未提交,执行回滚(若允许极小概率的数据丢失(如秒级异步复制),可适当降低参数值。,MySQL仍能保证数据不丢失(前提是Binlog已持久化)。:每次事务提交时Binlog刷盘(确保Binlog持久化)。此时事务视为未提交,Undo Log用于撤销内存中的修改。恢复时,通过Redo Log重放修改,保证数据一致性。:延迟刷盘,可能丢失最近N个事务的Binlog。
2025-05-26 10:43:26
448
原创 Nginx 全方位安全防护配置指南
通过上述配置,可大幅提升 Nginx 服务器的抗攻击能力,抵御 DDoS、SQL 注入、XSS、目录遍历等常见攻击。建议结合实际业务场景调整参数,并通过。:Nginx 安全需结合网络层(防火墙)、应用层(WAF)和监控层(日志分析)。:定期升级 Nginx 版本,关注 CVE 漏洞。模块监控流量、连接数等关键指标。:禁用非必要功能,限制用户权限。测试配置后重载生效。
2025-05-26 10:42:57
783
原创 Cursor:简单三步提高生成效率
某金融项目团队使用结构化提示词后,接口文档生成时间从3小时缩短至20分钟,准确率提升至95%。:组合使用@note + @Codebase,相当于告诉AI:“按我们团队的编码规范来!:按“功能需求→技术要求→交付物→质量标准”四要素拆解任务,如同给程序员写开发文档。错误:“优化下性能” → 正确:“将查询响应时间从2秒降至200毫秒内”错误:“像之前那样处理” → 正确:“采用分类管理模块的分页封装方案”模糊需求:生成代码可能缺少关键功能,甚至用错技术框架。:“做个知识管理模块,用SpringBoot。
2025-05-18 22:48:33
615
原创 Nacos服务注册流程
通过以上流程,Nacos 实现了高效、可靠的服务注册与发现,开发者可根据业务需求在 AP/CP 模式间灵活选择,确保微服务架构的稳定性。:通过 UDP 或 gRPC 订阅服务变更,实时接收 Server 推送的实例更新事件。:本地维护服务实例列表,通过 Ribbon 等组件实现负载均衡(如轮询、随机权重)。结构),临时实例存储于内存,持久化实例可配置存储到 Derby/MySQL。:持久化实例的写操作需经 Leader 节点处理,确保数据强一致。:牺牲强一致性,保证高可用,适合临时实例。
2025-05-09 10:43:29
1034
原创 Nacos异步注册以及双map结构
主线程仅负责提交任务,耗时操作(网络I/O)由后台线程完成,注册接口耗时从数百毫秒降至微秒级。注册接口时,客户端并非直接发起同步 HTTP/gRPC 请求,而是将注册任务封装为。通过两级哈希表实现服务数据的快速定位与高效管理,是 Nacos 高并发的基石。:避免网络延迟或服务端响应慢导致的线程阻塞,提升微服务启动速度。:突发大量注册请求时,队列起到缓冲作用,避免直接冲击服务端。若注册失败,按退避策略(如指数级延迟)重试,防止雪崩。管理,与注册线程隔离,避免相互影响。:自动处理网络抖动,提升注册可靠性。
2025-05-09 10:42:38
813
原创 SQLDef: 一键智能同步数据库变更
SQLDef是一款基于声明式范式的开源数据库变更管理工具,支持 MySQL、PostgreSQL、SQLite 等主流数据库。其核心思想是通过描述数据库的目标状态(而非增量脚本),自动推导并执行变更,彻底解决传统迁移工具的版本冲突与维护难题。
2025-05-06 10:08:04
329
原创 springboot自定义注解脱敏
创建一个自定义注解@Sensitive,用于标记需要脱敏的字段,并指定脱敏类型。创建枚举类,定义不同的脱敏策略类型。ID_CARD,EMAIL,BANK_CARD// 可根据需求扩展其他类型编写类,处理字段值的脱敏逻辑,并实现以获取注解参数。
2025-04-14 18:42:14
306
原创 acme.sh:一键搞定证书申请到续期
HTTPS加密传输,防止数据被窃取或篡改。:谷歌等搜索引擎优先收录HTTPS站点。:浏览器地址栏显示“小锁”,提升用户信任感。:纯Shell脚本编写,轻量无依赖。:申请、安装、续期一条龙,无需人工干预。:默认Let's Encrypt,也支持ZeroSSL等。
2025-04-14 18:41:54
401
原创 利用Ollama对AI大模型进行攻击
近日,Ollama存在安全漏洞,该漏洞源于默认未设置身份验证和访问控制功能,未经授权的攻击者可在远程条件下调用Ollama服务接口,执行包括但不限于敏感模型资产窃取、虚假信息投喂、模型计算资源滥用和拒绝服务、系统配置篡改和扩大利用等恶意操作。
2025-04-07 14:35:52
342
原创 传统行业的思维惯性之困:评论列表
当我重构后的评论系统首次支撑住10万+并发互动时,突然意识到:医疗软件的严谨与社交产品的灵动,本质上都是对信息组织方式的探索。就像心电图机既要捕捉细微波动(树形结构的精确),又要呈现整体节律(扁平化设计的效率),优秀的架构师必须学会在不同领域间自由切换思维模式。这或许就是软件工程最迷人的哲学命题——用理性的代码构建感性的交互体验。
2025-03-23 18:13:55
463
原创 linux智能巡检:一键生成可视化报告
🟡 警告 → 黄色提醒(如磁盘使用超80%)🔴 危险 → 红色警报(如磁盘使用超90%)🟢 正常 → 绿色标识。2️⃣ 智能分级告警。
2025-03-14 12:21:17
450
原创 ruoyi解决字典显示不正确问题
2.生成代码是tinyint类型,前端给自动加了parseInt方法。1.数据库中的字段为tinyint类型。将parseInt删除即可。
2025-03-14 12:21:01
258
原创 mysql自适应哈希索引
自适应哈希索引是 MySQL 中 InnoDB 存储引擎特有的一项功能,旨在优化热点数据的查询性能。与传统的哈希索引不同,自适应哈希索引的最大特点在于它的自动性和动态性。InnoDB 根据查询模式和数据访问频率,智能地决定何时构建哈希索引,并能够随时根据数据变化和查询模式的调整来动态优化索引。
2025-03-08 10:31:42
318
原创 HBuilderX连接MuMu模拟器
1、打开MuMu模拟器安装路径下的bin文件夹(具体路径为"安装路径的文件夹\emulator\nemu\vmonitor\bin"),然后点击文件夹路径,输入CMD,再点击回车按键呼出CMD运行窗口(如下图);2、点击“运行配置”,把“1”中的adb路径复制在图中的位置,端口号设置为7555,和“4”中的端口号一致。方法1:设置中心-基本设置-root权限开启,权限同意后,重新进行adb连接(不用重启模拟器)下载MuMu模拟器就不介绍了,自行去百度下载,我下载的是安卓6的版本,下载完成后直接安装。
2025-03-08 10:31:28
1353
原创 基于nginx的灰度发布解决方案
Nginx 在灰度发布中可以看作是一个精确的流量调度员,它充当着客户端与后端服务器之间的中介。通过配置好的规则,Nginx 会将用户请求智能地引导到不同版本的服务上。这样,Nginx 可以根据具体需求灵活地分配流量,确保新版本逐步推向用户,从而实现灰度发布的精确控制。
2025-03-03 21:14:15
607
原创 @Async异步失效的9种场景
而在类中直接进行方法的内部调用,在test()方法中调用async()方法,调用的是该类原对象的async方法,相当于调用了this.async()方法,而并非UserService代理类的async()方法。而@Async注解的异步功能,需要使用Spring的AOP生成UserService类的代理对象,该代理对象没法访问UserService类的private方法,因此会出现@Async注解失效的问题。在Spring中要开启@Async注解异步的功能,需要在项目的启动类,或者配置类上,使用。
2025-02-27 12:39:12
1221
原创 ruoyi分页合理性设置
PageHelper 的reasonable 属性控制了当请求的页码大于总页数时的行为。通过设置 reasonable=true,PageHelper 会自动处理边界问题。reasonable 设置为 true:当请求的 pageNum 超过总页数时,会自动调整为最后一页。reasonable 设置为 false:当 pageNum 超过总页数时,会返回空数据。可以在 PageHelper 中全局配置,也可以通过方法调用来配置。
2025-02-26 09:48:11
321
centos7.9离线安装tigervnc-server-1.8.0-21.el7.x86-64.rpm(推荐)
2023-07-07
关于Java中常用加密/解密方法的实现
2018-09-30
jquery easyui TagBox with Autocomplete ajax请求方式自动填充
2017-07-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人