BACKEND Q&A
后端问答
聚焦并发编程、数据库连接池、接口设计、微服务与缓存的后端真实问答。
锁
并发老司机后端开发 · 2 小时前提问
Java
Java 并发 synchronized 和 ReentrantLock 怎么选?面试被问懵了
synchronized 是 JVM 层关键字,自动释放、够简单,新版本锁升级优化后性能不差;ReentrantLock 是 API 层锁,支持公平锁、可中断、tryLock 超时、多 Condition,灵活但要手动 unlock 放 finally。需要高级特性用 ReentrantLock,否则 synchronized 够用。
121 赞
2.2k 浏览
9 回答
池
DBA 小K后端开发 · 6 小时前提问
数据库
HikariCP 连接池经常报 connection is not available,参数怎么调?
先看 maximumPoolSize 是否过小(经验值 ≈ 核心数*2 + 有效磁盘数),但别盲目调大,DB 侧 max_connections 要兜得住;connectionTimeout 调到可接受等待时长;排查慢 SQL 长期占用连接。再配合 idleTimeout、maxLifetime 防连接泄漏。
88 赞
1.6k 浏览
6 回答
接
接口设计汪后端开发 · 昨天提问
接口
RESTful 接口怎么设计才算规范?PUT 和 PATCH 老分不清
用 HTTP 动词表达语义:GET 查、POST 增、PUT 全量替换、PATCH 部分更新、DELETE 删。资源用名词复数(/users/{id}),状态码用准(201 创建、204 无内容、404 / 409 / 422)。PATCH 是部分更新只传变更字段,PUT 是全量替换。
70 赞
1.2k 浏览
5 回答
微
微服务架构师后端开发 · 2 天前提问
微服务
微服务注册中心选 Nacos 还是 Eureka?Eureka 2.0 不是停更了吗
Eureka 2.x 已停更,新项目不建议。Nacos 同时支持 AP / CP 切换、自带配置中心、健康检查与权重路由,生态更活跃。纯服务发现 Eureka 够用但功能单一,要配置管理就得上 Nacos / Apollo,Nacos 一站式更省事。
95 赞
1.7k 浏览
8 回答
缓
缓存中间件后端开发 · 3 天前提问
Redis
Redis 缓存和 DB 怎么保证一致性?先删缓存还是先更新库?
没有绝对一致,只有最终一致。常见是 Cache Aside:先更新 DB 再删缓存,配合延迟双删防脏读;写多读少可先删缓存再写库。强一致场景上锁或用消息队列串行化,代价大。记住"缓存只是加速,DB 才是真相"。
110 赞
2.0k 浏览
10 回答
队
消息队列选手后端开发 · 4 天前提问
Kafka
Kafka 消费者重启后重复消费了消息,怎么避免业务重复执行?
Kafka 是 at-least-once,重复消费正常,要去重。消费端做幂等:用业务唯一键去重表 / Redis SETNX;或数据库 upsert。另外 enable.auto.commit 关掉,手动提交 offset,处理完再提交,能减少重复窗口。
67 赞
1.1k 浏览
4 回答