前言:微服务中经常会出现在数据库事务中调用远程服务,由于远程服务超时而拉长事务,导致数据库瘫痪的情况,因此在事务处理过程中,禁止执行可能产生线程阻塞的调用,例如:锁等待、远程调用等。

          开发中,特别是微服务架构,事务要尽可能保持短事务,一个事务中最后不要有太多的操作,长时间操作事务会影响或堵塞其他的请求,累积可造成数据库故障,同一事务中大量的数据操作会引起锁的范围和影响扩大,易造成数据库的其他操作阻塞而导致短暂的不可用。

          因此,要尽可能用短事务来代替长事务,降低事务执行时间,减少锁的时长,使用最终一致性来保证数据的一致性原则

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐