比如酒店预订房间,某一时刻,A房间为空闲,然后x用户发送请求预订,同时y用户也发送请求预订;如果在同一个Tomcat,直接在预订的方法上加一个syncronised就可以了,但是这两个请求走的是不同的Tomcat,怎么办? 是不是只能在数据库层面加锁? 如果是,那该怎么加?
你看看分布式锁 看看对你有帮助么
做一个缓存队列,把预定请求发送到缓存队列中,每次取一个数据库中查询房间是否被预定,再把结果返回给请求方.
加一层redis
使用分布式锁