像mysql的悲观锁,我有大致了解过的。但是对于这个锁的应用场景我仍然有点困惑。
场景一:
同个服务的集群,在并发量很大的情况下去操作 单机mysql,此时需要在mysql那里使用悲观锁。
场景二:
同个服务的集群,在并发量很大的情况下去操作 mysql集群,此时需要使用分布式锁。
不知道我这么理解对不对。请大神指教,谢谢!
像mysql的悲观锁,我有大致了解过的。但是对于这个锁的应用场景我仍然有点困惑。
场景一:
同个服务的集群,在并发量很大的情况下去操作 单机mysql,此时需要在mysql那里使用悲观锁。
场景二:
同个服务的集群,在并发量很大的情况下去操作 mysql集群,此时需要使用分布式锁。
不知道我这么理解对不对。请大神指教,谢谢!
悲观锁等并不一定是需要在mysql中实现的,用程序也可以实现,但如果是服务集群,那在程序中实现悲观锁就不起作用了,此时就需要在mysql中实现或者是用分布式锁。
可以看下这个:Java锁?分布式锁?乐观锁?行锁?
场景一:
同个服务的集群,在并发量很大的情况下去操作 单机mysql,此时需要使用分布式锁。
场景二:
同个服务的集群,在并发量很大的情况下去操作 mysql集群,此时需要使用分布式锁。
分布式锁即全局锁定,可以理解为一个普通程序的普通锁锁定程序的全局线程一样的,只是层次又提升了一个而已。
15 回答8.4k 阅读
8 回答6.2k 阅读
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
根据我的经验,建议优先使用分布式锁。并发量很大的时候使用悲观锁是不合适的,首先性能就跟不上,而且DB是要保护起来的,大量的锁请求也容易出问题。