什么样的项目,什么样的情况下需要手动设置事物传播行为?隔离级别?锁?

一直有这个疑惑,到底什么样高并发的项目或者什么操作需要手动设置事物传播行为?隔离级别?锁?
请解惑,谢谢
我的理解是对于大部分的并发项目默认的隔离级别就够用了.事务隔离级别是粗粒度的,锁是细粒度的,不知道这样想对不对?
如果项目的并发再复杂,默认级别不够用了,是再调节隔离级别还是直接调节锁?

跨程序并发,跨数据库事务,优化性能、群集等等场合。

使用锁会极大地增加代码的复杂度,同时造成隐患,因此除非绝对必要,不要使用。
应该从数据结构的设计角度实现事务隔离
在业务场景还不需要考虑隔离的情况下,不需要过度关注隔离与锁,等到发现问题后再对问题部分数据结构重新设计,重构才是正解