分布式事物

来源:互联网 发布:网络直播兴起于哪里 编辑:程序博客网 时间:2024/05/25 13:33

http://jm.taobao.org/2017/02/09/20170209/

处理事务的常见方法

处理事务的常见方法有排队法、排他锁、读写锁、MVCC等方式,下面来一一解析。

单线程处理方式在内存的情况是效率是最优的(在Redis中,如果数据全部在内存中,则单线程处理所有Put、Get操作效率最高)。在设计系统时,面对磁盘、网络、SSD等慢速设备必须考虑使用多线程。

事务的调优原则

事务的调优的思路是在不影响业务应用的前提下:
第一,尽可能减少锁的覆盖范围,例如Myisam表锁到Innodb的行锁就是一个减少锁覆盖范围的过程;对于原位锁(排他锁、读写锁等)可变为MVCC多版本(本质仍然是减少锁的范围)。
第二,增加锁上可并行的线程数,例如读锁和写锁的分离,允许并行读取数据。
第三,选择正确锁类型,其中悲观锁适合并发争抢比较严重的场景;乐观锁适合并发争抢不太严重的场景。


0 0