RPC概述
RPC(Remote Procedure Call)即远程过程调用,允许一台计算机调用另一台计算机上的程序得到结果,而代码中不需要做额外的编程,就像在本地调用一样。
现在互联网应用的量级越来越大,单台计算机的能力有限,需要借助可扩展的计算机集群来完成,分布式的应用可以借助RPC来完成机器之间的调用。
二、常见的并发问题
1、脏读
一个事务读取了另一个事务未提交的数据
2、不可重复读
一个事务对同一数据的读取结果前后不一致。两次读取中间被其他事务修改了
3、幻读
幻读是指事务读取某个范围的数据时,因为其他事务的操作导致前后两次读取的结果不一致。幻读和不可重复读的区别在于,不可重复读是针对确定的某一行数据而言,而幻读是针对不确定的多行数据。因而幻读通常出现在带有查询条件的范围查询中
三、事务隔离级别
1、读未提交(READ UNCOMMITTED)
可能产生脏读、不可重复读、幻读
2、读已提交(READ COMMITTED)
避免了脏读,可能产生不可重复读、幻读
3、可重复读(REPEATABLE READ)(mysql默认隔离级别)
避免了脏读,不可重复读。通过区间锁技术避免了幻读