MySQL 8.4 LTS 默认采用 utf8mb4 与 utf8mb4_0900_ai_ci,在评估存储与索引前缀限制、NO PAD 尾随空格语义以及 BINARY 紧凑存储的取舍后,跨表统一排序规则是避免隐式转换导致索引失效的关键底线。
Posts for: #database
Shopify 把库存预留换回 MySQL,以及 flash sale 防超卖的另外五种做法
Shopify 把 quantity 切成行,让 SKIP LOCKED 各挑各的。顺着这篇往外查,同一个问题另有五种解法:AliSQL 引擎层排队、库存分桶、等候室按速率放行、DynamoDB 撞了重试、Durable Objects 让并发不发生。
UUIDv4 / UUIDv7 / ULID 当主键的取舍:键宽和递增性在四种部署方式下的收益和代价
选 UUIDv4、UUIDv7 还是 ULID 当主键,真正在选的只有键宽和同一毫秒内有没有顺序。InnoDB 上一个写入者时递增键少近四成的页,四个写入者只剩两成、文本主键反而更差;按主键范围分片的库上递增变成写热点,按 hash 分布的库不看这一项。
Spring Boot 3.5 + Java 25 微服务里,Resilience4j 用在 HTTP、Redis、Kafka、DB 上的边界与最佳实践
结合官方文档、工程资料与技术文章,整理 Spring Boot 3.5 + Java 25 微服务中 Resilience4j 在 HTTP、Redis、Kafka、DB 外部调用上的使用边界与实践建议。