分布式系统中的事务与安全管理
1. 并发控制服务概述
并发控制服务(Concurrency Control Service,CCS)提供了接口,让我们能够实现自己的锁管理。它被设计为与OTS协同工作。如果你编写了自己的共享资源,并且希望确保事务的隔离性,就需要使用一种机制来管理锁,这时就可以使用CCS。不过,建议在可能的情况下使用底层数据库的锁定机制。
市面上现有的资源管理器,尤其是符合XA标准的资源管理器,都提供了自己的锁管理。如果你使用的资源管理器与OTS兼容,就无需关注CCS。
CCS并不定义资源或锁的粒度。例如,在一个文档中,每个组件可以是一个单独的资源,或者整个底层文档数据库也可以是一个资源。CCS允许你为服务提供合适粒度的锁定机制。
2. 锁的模型
锁用于控制并发事务对同一资源的访问。在进行任何访问之前,当前事务需要在资源上获取适当的锁。如果请求的锁存在冲突,请求要么会收到异常,要么会被阻塞,直到锁请求得到满足。
CCS定义了几种锁模式,如下表所示:
| Granted mode | Intention Read | Read | Upgrade | Intention Write | Write |
|---|---|---|---|---|---|
| Intention Read | X |
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



