JVM 本地锁:实现简单,性能较差,单体故障问题。 MySQL 行锁:事务隔离性、避免数据冲突,性能较差/ 分布式锁:Redis 或者 ZooKeeper 或 Etcd 实现,分布式场景,灵活,性能高。 对于分布式锁: 当骑手抢单时需要先获取到该订单对应的锁; 如果获取锁失败,就说明已经有其他骑手已经接单了,直接提示抢单失败。