标签:#架构设计 #幂等性 #Redis #数据库 #分布式系统 #面试必问💣 前言:即使前端置灰了按钮,后端也必须防重很多初级开发者认为:“我在前端点击按钮后,把按钮置灰(Disabled)不就行了吗?”太天真。懂点技术的用户可以直接调 API 接口。弱网环境下,请求发出去了但响应没回来,网关层或 RPC 框架(如 Dubbo)可能会触发自动重试机制。后端必须视所有请求为“不可信”的,必须在业务层实现幂等。🧱 一、 最后一道防线:数据库层方案这是最“硬”的方案,兜底用的。1. 唯一索引 (Unique Key)最简单粗暴。利用数据库的主键约束。比如“用户签到”,每天只能签一次。-- 建立联合唯一索引ALTERTABLEuser_signADDUNI