分布式时间戳
Posted 炼金士
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式时间戳相关的知识,希望对你有一定的参考价值。
Phenix框架已支持分布式时间戳,开发人员仅需在业务实体类中定义:
。。。
[Phenix.Core.DataMapperClass("PH_User", UseTimeStamp = true)]
public class User : BusinessBase<User>
{
。。。
}
即可自动实现分布式乐观锁并发校验机制。
当业务系统运行期提交数据的时候,Phenix框架会自动对(上述案例是"PH_User")表记录上的时间戳进行校验,一旦发现被改变,即抛出异常,业务开发人员可截获此异常,提示用户重新加载数据并编辑。
Phenix框架在缺省状态下,是按照“后进有效”原则进行提交的。
分布式时间戳做到了:
1,自动增加相关表的时间戳字段: UpdateTimeStamp VARCHAR(15);
2,支持批量提交和回滚;
3,校验不成功,将抛出异常;
4,业务代码仅写一行代码即可实现,且在这个代码行上,更改DataMapperClassAttribute的属性UseTimeStamp值,就能做到是否使用本功能的切换;
以上是关于分布式时间戳的主要内容,如果未能解决你的问题,请参考以下文章
分布式系统概念 | 分布式时钟:物理时钟逻辑时钟Lamport 时间戳向量时钟版本向量