1、业务逻辑
2、难点
- 短时间高并发,负载压力大;
- 读多写少的操作;
- 竞争资源有限,不能多也不能少不能重复
3、实现
- 数据库表,主要是更新数量更新语句要设置满足>=0
- 并发使用栅栏或者countDownLatch()使用,实例化,当计数为0时,同时执行后面的代码,实现高并发;
- 同步控制:如果用sychronised,悲观锁,速度慢。事务。如果使用乐观锁,可以使用错峰,即休眠时间时间设置成随机的;乐观锁数据库乐观锁虽然稳定可靠,但是在并发能力低,并发量大概是300-700.
- 使用缓存技术(redis)CAS实现。(10万以内的并发量是可以的)
- 实际开发中,各个层都会去做缓存技术和提高并发速度的。