分布式到底是什么?
2026/4/14 22:47:28 网站建设 项目流程

分布式 = 你的同一个项目,同时在多台电脑上跑。

1. 先看:单机环境(只有一台服务器)

你现在本地启动项目:

  • 只有1 个 Java 程序在跑
  • 所有用户请求都进这一个程序

这时候,想防止 “一个人抢多张券”,最简单写法:

synchronized (this) { // 判断是否下单 // 扣库存 // 创建订单 }

synchronized能锁住,因为就这一个程序

2. 再看:分布式环境(3 台服务器都在跑你的项目)

公司上线时,会这样:

  • 服务器 1 → 跑你的秒杀项目
  • 服务器 2 → 跑一模一样的秒杀项目
  • 服务器 3 → 跑一模一样的秒杀项目

用户来了,请求会被随机分给这 3 台


3. 关键来了:为什么单机锁失效?

如果你在分布式下还用synchronized

结果是:

  • 服务器 1 加锁 → 只锁服务器 1
  • 服务器 2 根本不知道服务器 1 加了锁
  • 同一个用户的两个请求,分别进 1 和 2→一人下两单,锁不住!

因为:synchronized 是本地锁,只在当前电脑有效。

4. 那为什么 Redis 锁就是 “分布式”?

因为:

  • 服务器 1、2、3

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询